갑진년 값진 날로 가득하시길 바라면, 새해 복 많이 받으세요.
2개의 테이블을 union으로 합치고 있습니다.
테이블이 2가지가 있습니다.
tbl_a
rundatetime | name | desc |
2023-11-04 | 홍길동 | 1 |
2023-11-04 | 홍길순 | 2 |
2023-11-04 | 김길동 | 3 |
2023-11-05 | 홍길동 | 11 |
2023-11-05 | 홍길순 | 22 |
2023-11-05 | 김길동 | 33 |
2023-11-06 | 홍길동 | 111 |
2023-11-06 | 홍길순 | 222 |
2023-11-06 | 김길동 | 333 |
tbl_b
rundatetime | name | desc |
2023-11-04 | 강일이 | 4 |
2023-11-04 | 이이삼 | 5 |
2023-11-06 | 강일이 | 444 |
2023-11-06 | 이이삼 | 555 |
tbl_b 에서 2023-11-05 데이터가 누락되어 있습니다.
이를 아래와 같은 테이블로 조회하고 싶습니다.
rundatetime | name | desc |
2023-11-04 | 홍길동 | 1 |
2023-11-04 | 홍길순 | 2 |
2023-11-04 | 김길동 | 3 |
2023-11-04 | 강일이 | 4 |
2023-11-04 | 이이삼 | 5 |
2023-11-06 | 홍길동 | 111 |
2023-11-06 | 홍길순 | 222 |
2023-11-06 | 김길동 | 333 |
2023-11-06 | 강일이 | 444 |
2023-11-06 | 이이삼 | 555 |
tbl_b에 없는 2023-11-05 데이터는 빼고 조회하고 싶습니다.
이런 조회도 가능할까요?
찾아보다가 못 찾고 이렇게 질문드립니다.
오늘도 좋은 하루 보내세요^^
요청하신 케이스가 전부인가요? (A 에만 자료가 있는 경우)
혹시 B 에만 자료가 있는 경우가 존재할 가능성은 없는지요?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | WITH tbl_a AS ( SELECT '2023-11-04' rundatetime, '홍길동' name , '1' desc_ UNION ALL SELECT '2023-11-04' , '홍길순' , '2' UNION ALL SELECT '2023-11-04' , '김길동' , '3' UNION ALL SELECT '2023-11-05' , '홍길동' , '11' UNION ALL SELECT '2023-11-05' , '홍길순' , '22' UNION ALL SELECT '2023-11-05' , '김길동' , '33' UNION ALL SELECT '2023-11-06' , '홍길동' , '111' UNION ALL SELECT '2023-11-06' , '홍길순' , '222' UNION ALL SELECT '2023-11-06' , '김길동' , '333' ) , tbl_b AS ( SELECT '2023-11-04' rundatetime, '강일이' name , '4' desc_ UNION ALL SELECT '2023-11-04' , '이이삼' , '5' UNION ALL SELECT '2023-11-06' , '강일이' , '444' UNION ALL SELECT '2023-11-06' , '이이삼' , '555' ) SELECT * FROM tbl_a WHERE rundatetime IN ( SELECT rundatetime FROM tbl_b) UNION ALL SELECT * FROM tbl_b ORDER BY 1, 3 ; |