2011-02-01 2 views
0

Две таблицы имеют одинаковую структуру и отличаются только значениями;Sql соединяет две таблицы определенным образом

t1

 
id param1 param2 
--- ------ ------ 
id1 1  100 
id1 2  101 

t2

 
id param1 param2 
--- ------ ------ 
id1 1  501 
id1 2  502 
id1 3  503 


Что мне нужно, это SQL-запрос, который привел бы к столу, как что:

 
id  param1 param2 param1 param2
id1 1 100 id1 2 101 id1 1 501 id1 2 502 id1 3 503

Пробовал с разными соединения, но не повезло. Является ли это возможным?

+0

Что DBMS это? SQL Server? – RichardTheKiwi

+0

Присмотритесь к данным в вашем результате. , , Нет никакого соединения. –

ответ

3
select id1, param1, param2, null, null from t1 
union all 
select id1, null, null, param1, param2 from t2 

И если вам нужно t1 всегда прийти до t2 записей, то

select id1, param1, param2, param1_b, param2_b 
from 
(
select 1 as sorter, id1, param1, param2, null as param1_b, null as param2_b from t1 
union all 
select 2 as sorter, id1, null, null, param1, param2 from t2 
) X 
order by sorter 
+0

Какое простое и остроумное решение, спасибо вам большое. – user598945

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