2011-02-01 6 views
0

2つのテーブルは同じ構造を持ち、値が異なります。Sqlは特定の方法で2つのテーブルを結合します

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サーバー? – RichardTheKiwi

+0

あなたの結果のデータをよく見てください。 。 。参加はありません。 –

答えて

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

そして、あなたは常にt2のレコードの前に来るようにT1が必要な場合は、その後、

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

関連する問題