#sql #sql-server
#sql #sql-сервер
Вопрос:
у меня есть две таблицы следующим образом
Таблица1
id name appid modifiedappid
--- --- ---- ------------
1 abc 1 2
Таблица2
id apllicationName
-- ---------------
1 App1
2 App2
при объединении этих двух таблиц мне нужен следующий результат
Name appname Modifiedappname
----- ------- ----------------
abc app1 app2
Ответ №1:
Вам нужно присоединиться Table2
дважды
select Name ,
B.apllicationName as appname,
C.apllicationName as Modifiedappname
from Table1 A
Left join Table2 B on A.appid = B.id
Left join Table2 C on A.modifiedappid = C.id
Примечание: Если значения appid
amp; modifiedappid
in Table1
всегда будут иметь запись in Table2
, вы можете изменить значение Left Outer Join
на INNER JOIN
Комментарии:
1. Можем ли мы сделать это одним объединением?
Ответ №2:
Select t1.Name, t2.ApplicationName as appname, t3.ApplicationName as modifiedappname from Table1 t1
Left Outer Join Table2 t2
on t2.id= t1.id
Left outer Join Table2 t3
on t3.id=t1.id
group by t1.Name, t2.ApplicationName, t3.ApplicationName
Комментарии:
1. Можем ли мы сделать это одним объединением?