a table
카드번호 이름
1 AB
2 CD
3 EF
b table
일자, 카드번호, 이름
20181215 4 A
20181215 5 B
20181215 6 C
20181216 4 A
20181216 5 B
20181216 6 C
이런 테이블이 있는데요
제가 원하는 값은
일자, 카드번호, 이름
20181215 4 A
20181215 5 B
20181215 6 C
null 1 AB
null 2 CD
null 3 EF
20181216 4 A
20181216 5 B
20181216 6 C
null 1 AB
null 2 CD
null 3 EF
이런식으로 나왔으면 하는데 검색해보고 쿼리를 짜도
일자, 카드번호, 이름
null 2 CD
null 3 EF
20181215 4 A
20181215 5 B
20181215 6 C
20181216 4 A
20181216 5 B
20181216 6 C
이런식으로 자꾸 나오네요 도움부탁드립니다 ㅠ
Comment 1
-
건우아빠
2018.12.18 12:33
with a as(select 1 [카드번호] , 'AB' [이름] union allselect 2 , 'CD' union allselect 3 , 'EF' ) ,b as(select '20181215' [일자] ,4 [카드번호] ,'A' [이름] union allselect '20181215' ,5 ,'B' union allselect '20181215' ,6 ,'C' union allselect '20181216' ,4 ,'A' union allselect '20181216' ,5 ,'B' union allselect '20181216' ,6 ,'C' ) ,cade_pvt as(select [일자] ,[카드번호] , [이름]from ( select distinct [일자]from b ) ra ,( select [카드번호] , [이름] from aunionselect distinct [카드번호] , [이름]from b ) rb)select ra.* , rb.*from cade_pvt ra left join b rb on ra.[일자] = rb.[일자] and ra.[카드번호] = rb.[카드번호]