다만 A테이블과 B테이블의 master_code의 필드값이 서로 같은 것이 있고 서로 다른 것이 있습니다.
A 테이블
========================================
필드명 : master_code A B C D E
----------------------------------------
필드값 : t0001 1 2 3 4 5
----------------------------------------
필드값 : t0002 6 7 8 9 10
========================================
B 테이블
========================================
필드명 : master_code A B C D E
----------------------------------------
필드값 : t0001 a1 a2 a3 a4 a5
----------------------------------------
필드값 : t0003 b1 b2 b3 b4 b5
----------------------------------------
필드값 : t0004 c1 c2 c3 c4 c5
========================================
상기 두 테이블을 참고하여 값을 아래와 같이 출력하고자 하려면 어떻게 쿼리해야 할까요?
===============================================================================
1 2 3 4 5 a1 a2 a3 a4 a5 (master_code : t0001 / A테이블, B테이블 master_code가 동일한경우)
-------------------------------------------------------------------------------
6 7 8 9 10 (master_code : t0002 / A테이블, B테이블 master_code가 다른경우)
-------------------------------------------------------------------------------
b1 b2 b3 b4 b5 (master_code : t0003 / A테이블, B테이블 master_code가 다른경우)
-------------------------------------------------------------------------------
c1 c2 c3 c4 c5 (master_code : t0004 / A테이블, B테이블 master_code가 다른경우)
===============================================================================
A테이블과 B테이블의 master_code가 같은 경우 조합하여 출력
A테이블과 B테이블의 master_code가 다른 경우 각각 개별 행으로 필드값이 각 해당영역에 출력
Comment 2
-
건우아빠
2013.05.29 18:28
-
한태
2016.03.04 19:51
--A테이블 생성create table nana(master_code varchar(10),A int,B int,C int,D int,E int,constraint pk_mastercode primary key (master_code) )insert into nana values('t0001', 1, 2, 3, 4, 5)insert into nana values('t0002', 6, 7, 8, 9, 10)--B테이블 생성create table haha(master_code varchar(10),A varchar(10),B varchar(10),C varchar(10),D varchar(10),E varchar(10),constraint pk_mastercodeh primary key (master_code) )insert into haha values('t0001', 'a1', 'a2', 'a3', 'a4', 'a5')insert into haha values('t0003', 'b1', 'b2', 'b3', 'b4', 'b5')insert into haha values('t0004', 'c1', 'c2', 'c3', 'c4', 'c5')--값 확인select n.A, n.B, n.C, n.D, n.E, h.A, h.B, h.C, h.D, h.Efrom nana n full outer join haha h with (nolock)on n.master_code=h.master_codefull outer join을 이용하여 값을 구해보았습니다.
1. union all
2. full join , COALESCE 함수이용. ,