계약자 | 1차계약일 | 1차계약종료일 | 2차계약일 | 2차계약종료일 | 3차계약일 | 3차계약종료일 | 4차계약일 | 4차계약종료일 |
홍길동 | 2013-01-01 | 2013-01-10 | 2013-03-01 | 2013-03-10 | 2013-04-01 | 2013-04-10 | ||
김길동 | 2013-01-01 | 2013-01-20 | 2013-02-01 | 2013-02-20 | 2013-03-01 | 2013-03-20 | 2013-04-01 | 2013-04-20 |
남길동 | 2013-01-01 | 2013-01-15 | 2013-03-01 | 2013-03-20 | ||||
가길동 | 2013-02-01 | 2013-02-20 | 2013-04-01 | 2013-04-20 |
-- 원하시는 결과물이 없어서 맘대로 출력.. WITH T (NM, DT1 , DT2 , DT3 , DT4 ) AS ( SELECT '홍길동','20130101','20130110','',''FROM DUAL UNION ALL SELECT '김길동','20130101','20130120','20130201','20130220'FROM DUAL UNION ALL SELECT '남길동','20130101','20130115','','' FROM DUAL UNION ALL SELECT '가길동','','','20130201','20130220' FROM DUAL ) SELECT NM , GREATEST( NVL(DT1,'00000000') , NVL(DT2,'00000000') , NVL(DT3,'00000000') , NVL(DT4,'00000000')) DT FROM T UNION ALL SELECT NM , LEAST( NVL(DT1,'99999999') , NVL(DT2,'99999999') , NVL(DT3,'99999999') , NVL(DT4,'99999999') ) DT FROM T ORDER BY NM , DT