WITH t AS
(
SELECT '20140101' dtseq, 0 seq from dual
UNION ALL SELECT '20140101', 1 FROM dual
UNION ALL SELECT '20140101', 2 FROM dual)
select * from t
WITH s AS
(
SELECT '001' sa, '20140101' dtseq, 0 seq from dual
UNION ALL SELECT '001', '20140101', 1 FROM dual
UNION ALL SELECT '002', '20140101', 1 FROM dual
UNION ALL SELECT '002', '20140101', 2 FROM dual
)
select * from s
WITH r AS
(
SELECT '001' sa, '20140101' dtseq, 0 seq from dual
UNION ALL SELECT '001', '20140101', 1 FROM dual
UNION ALL SELECT '001', '20140101', 2 FROM dual
UNION ALL SELECT '002', '20140101', 0 FROM dual
UNION ALL SELECT '002', '20140101', 1 FROM dual
UNION ALL SELECT '002', '20140101', 2 FROM dual
)
t와 s를 조인해서 r 처럼 나오게 하려면 어떻게 해야 하나요.
답변 부탁드립니다.
WITH T AS ( SELECT '20140101' dtseq, 0 seq from dual UNION ALL SELECT '20140101', 1 FROM dual UNION ALL SELECT '20140101', 2 FROM dual ), S AS ( SELECT '001' sa, '20140101' dtseq, 0 seq from dual UNION ALL SELECT '001', '20140101', 1 FROM dual UNION ALL SELECT '002', '20140101', 1 FROM dual UNION ALL SELECT '002', '20140101', 2 FROM dual ) SELECT sa, dtseq, seq FROM T CROSS JOIN (SELECT DISTINCT sa FROM S) ORDER BY sa, seq ;