Select No, A, B, C into #temp1 from Table1 Where month = 'Jan'
Select No, D, E, F into #temp2 from Table2 Where month = 'Jan'
Select No, G, H, I into #temp3 from Table3 Where month = 'Jan'
И количество строк результат вSQL Server - Регистрация запрос
#temp1 = 0
#temp2 = 0
#temp3 = 2
* обратите внимание, что количество строк результат будет варьироваться в базе на месяц выбранного
Я хочу объединить результаты три таблицы в один выход, который, как показано ниже:
No | A | B | C | D | E | F | G | H | I
----------------------------------------
Я попытался:
Select t1.No, t1.A, t1.B, t1.C, t2.D, t2.E, t2.F, t3.G, t3.H, t3.I
From #temp1 t1
Left Join #temp2 t2 on t1.No = t2.No
Left Join #temp3 t3 on t1.No = t3.No
Но я знаю, что запрос является неправильным, потому что не будет никакого вывода, так как нет никакого результата в таблице # temp1
Пожалуйста, помогите. Спасибо
Предполагая, что 'No' уникален вам необходимо полное внешнее соединение между всеми тремя или' UNION ALL' во всех трех с агрегатной функцией, чтобы раздавить их вместе –
@ Nick.McDermaid - Да, спасибо за СОЮЗА ВСЕ. Теперь я могу получить результат так, как я хотел, но если вы сможете больше объяснить полное внешнее соединение. Я пробовал полное внешнее соединение, но как я могу получить вывод для отображения «Нет», поскольку я закодировал его как t1.No, но результат будет t3.No. На выходе будет отображаться поле NULL в поле «Нет». – Dia