2013-04-08 2 views
0

У меня есть ситуация, которая касается двух наборов данных с разными столбцами. Я знаю, что могу использовать UNION, но UNION требует равного количества выражений в обеих таблицах. Я пытаюсь присоединиться к этим двум утверждениям в своей хранимой процедуре. Первое утверждение имеет один дополнительный столбец 'Местоположение'присоединение двух операторов sql в хранимой процедуре - (нет одинаковых столбцов)

Select 
    TableA.Name, 
    TableB.Occupation, 
    TableA.Location, 
    'Group1' AS [groupBy] 
From 
TableA, 
TableB 
Where 
TableA.ID = 1 

Select 
    TableA.Name, 
    TableB.Occupation, 
    'Group2' AS [groupBy] 
From 
TableA, 
TableB 
Where 
TableB.ID = 10 

Мой результат должен выглядеть следующим образом

Name Occupation  GroupBy Location 
David Doctor   Group1 USA 
John Pilot   Group1 Asia 
Dwayne Wrestler  Group2 NULL 
Axel RockStar  Group2 NULL 

Моя структура таблицы

Table A 

ID Name Occupation Location 
1 David Doctor  USA 
1 John Pilot  Asia 
2 Mike Clerk  Europe 


Table B 

ID Name Occupation 
3 Wayne Writer 
4 Shane Publisher 
10 Dwayne Wrestler 
10 Axel Rockstar 
+1

Это называется СОЮЗ; просто добавьте «NULL» в список выбора во втором запросе. –

+0

Привет, Питер ... Спасибо за ваш комментарий. Что произойдет, если будет более 1 столбца. Я знаю, что видел, как некоторые люди делают это по-разному в хранимой процедуре, где они создают временную таблицу в sp. – EagleFox

+1

Добавьте столько, сколько вам нужно, независимо от того, сколько вам нужно. Если вам нужны дополнительные столбцы в обеих таблицах, экземпляры NULL в первой таблице должны быть сфальсифицированы с соответствующим именем столбца. –

ответ

1

Это называется UNION; просто добавьте «NULL» в список выбора во втором запросе

Добавьте столько, сколько вам нужно, независимо от того, сколько вам нужно. Если вам нужны дополнительные столбцы в обеих таблицах, экземпляры NULL в первой таблице должны быть сфальсифицированы с соответствующим именем столбца.

Смежные вопросы