데이터를 하나로 Merge할 수 있는 방법이 있는지요? 0 2 1,322

by 쭈니아빠 [SQL Query] [2012.11.20 13:29:29]


안녕하세요.
아래의 데이터를 하나로 Merge하려 하는데 어떻게 해야 할지 답이 안보입니다...

먼저 UNION ALL을 사용해서 ORDER BY로 했지만 제가 원하는 형태로 보여지지 않아서 도움을 요청드립니다.

데이터의 형태가 아래와 같이 있고
A 테이블의 데이터 B 테이블의 데이터
CODE NO CODE_NM CODE NO CODE_NM
123123 100 A-1데이터 123123 100 B-111데이터
123123 200 A-2데이터 123123 200 B-222데이터
123456 100 A-3데이터 123456 100 B-333데이터

위의 데이터를 아래와 같이 Merge하여 보여주려고 합니다
CODE NO CODE_NM
123123 100 A-1데이터
123123 100 B-111데이터
123123 200 A-2데이터
123123 200 B-222데이터
123456 100 A-3데이터
123456 100 B-333데이터

결국 CODE와 NO는 같고 CODE_NM만 다른 형태를 하나로 변형하고 싶습니다.

고수님들의 도움 부탁드리겠습니다.
by 제로 [2012.11.20 13:51:15]
order by code, no, convert(code_nm, 'ISO2022-KR')

by 아발란체 [2012.11.20 13:54:35]
WITH T1(CODE, NO, CODE_NM) AS(
    SELECT '123123','100','A-1데이터' FROM DUAL UNION ALL
    SELECT '123123','200','A-2데이터' FROM DUAL UNION ALL
    SELECT '123456','100','A-3데이터' FROM DUAL
), T2(CODE, NO, CODE_NM) AS(
    SELECT '123123','100','B-111데이터' FROM DUAL UNION ALL
    SELECT '123123','200','B-222데이터' FROM DUAL UNION ALL
    SELECT '123456','100','B-333데이터' FROM DUAL
)
SELECT * FROM (
    SELECT * FROM T1
    UNION ALL
    SELECT * FROM T2
)
ORDER BY
    CODE, NO, CODE_NM


* CODE, NO, CODE_NM 부분을 제로님이 써주신 것처럼 변경하셔도 되고요,
순서가 보장되어 있다면 ORDER BY 절에서 CODE_NM를 ROWNUM으로 해주셔도 됩니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입