Чтобы присоединиться к четырем таблицам в mssql

Основная группаТаблица

MubGroupCodeid       MainName      maincode
1                     Health          098
2                     Social          078

Таблица подгрупп

SubGroupCodeid     SubName         subcode

1                  Nursing          211
2                  Civics           224

Таблица SubandMainGroup

subandmainid      **MubGroupCodeid**       **subgroupcodeid**       
1                    1                      1         
2                    2                       2

Студенческий стол

studid   studname      **subandmainid** (foriegn key of **subandmain group**  table)
1       Alex            1  
2       siraj           2

затем я хочу присоединиться и объединить studname-maingroupcode-subgroupcode, чтобы получить вывод, как показано ниже.

  Alex-098-211 
  siraj-078-224   

Здравствуйте, не могли бы вы более конкретно ответить на свой вопрос и опубликовать, что вы пробовали до сих пор?

Gar 06.03.2019 16:32

Что вы пробовали? Это вопрос домашнего задания? Это довольно простой JOIN. sql-join.com

Shawn 06.03.2019 16:37

Я хочу объединить все имена стад с их кодом основной группы и кодом подгруппы.

Siraj Ahmed 06.03.2019 16:41

Совершенно очевидно, что имена столбцов с одинаковым написанием должны быть объединены. Вы должны хотя бы попытаться выполнить соединение, предложенное в вопросе, и четко указать, какую часть проблемы вы не можете выполнить (например, конкатенацию строк полей).

Zorkolot 06.03.2019 22:18
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
2
4
46
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Это поможет вам начать и объяснить соединения. Вы, вероятно, также захотите выполнить приведение для основного кода и подкода, но, поскольку это не на 100% ясно, они еще не являются значениями varchar, я пропустил это.

SELECT s.studname + '-' + m.maincode + '-' + s.subcode
FROM Student s
INNER JOIN SubandMainGroup smg on smg.subandmainid = s.subandmainid
INNER JOIN MainGroup m on m.mubgroupcodeid = smg.mubgroupcodeid
INNER JOIN SubGroup s on s.subgroupcodeid = smg.subgroupcodeid

Также вокруг них следует бросать isnull() или объединение().

JoeDBAHAHAHA 06.03.2019 16:45
Ответ принят как подходящий

используйте соединение и объедините все необходимые столбцы, используя ||

select s.studname ||'-'||subG.subcode ||'-' M.maincode
                from 
               Student s join SubandMainGroup  subM on s.subandmainid=subM.subandmainid      
                 join SubGroup subG on subG.SubGroupCodeid=subM.subgroupcodeid
                 join MaingroupTable M on M.MubGroupCodeid=subM.MubGroupCodeid

Используйте приведенный ниже запрос для решения проблемы.

select stu.studname + '-'+mgrp.maincode +'-'+sgrp.subcode from Student_ stu 
join Maingroup mgrp on stu.studid=mgrp.MubGroupCodeid 
join SubGroup sgrp on sgrp.SubGroupCodeid=stu.studid

Другие вопросы по теме