데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
키값이 들어있는 테이블이 하나 있고 부속정보를 가진 테이블이 두개로 쪼개져 있습니다.
세테이블을 합치고 싶은데 키값이 일치하는 데이터들 중에
가장 많은 라인수에 따라서 합치고 싶은데요 어떻게 하면 될까요.?
#a 테이블 데이터 #b테이블데이터 #c테이블 데이터
emp(컬럼명) emp txt1 emp txt2
001 001 가 001 a
002 001 나 002 a
003 003 라 003 a
003 b
003 c
제가 한 조인으로 나오는 결과값( 빨간색은 나오지 말아야함.)
emp | txt1 | txt2 |
001 | 가 | a |
001 | 나 | a |
002 | a | |
003 | 라 | a |
003 | 라 | b |
003 | 라 | c |
원하는 결과값
emp | txt1 | txt2 |
001 | 가 | a |
| 나 | |
002 |
| a |
003 | 라 | a |
|
| b |
|
| c |
위와 같이 나오게 하고 싶습니다.
아래로 해봤는데 잘안되내요.
create table #a ( emp varchar(10))
create table #b ( emp varchar(10), txt1 varchar(10) )
create table #c ( emp varchar(10), txt2 varchar(10))
insert into #a values ('001');
insert into #a values ('002');
insert into #a values ('003');
insert into #b values ('001','가');
insert into #b values ('001','나');
insert into #b values ('003','라');
insert into #c values ('001','A');
insert into #c values ('002','A');
insert into #c values ('003','A');
insert into #c values ('003','B');
insert into #c values ('003','C');
SELECT A.EMP,B.txt1,C.txt2
FROM #A AS A
FULL OUTER JOIN #b AS B
ON A.EMP = B.EMP
FULL OUTER JOIN #c AS C
ON A.EMP = C.EMP
drop table #a
drop table #b
drop table #C