2011-02-01 4 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

관련 문제