Объединение двух полей из одной таблицы в другую

#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. Можем ли мы сделать это одним объединением?