by 닉네임길이제한은몇글 [SQL Query] [2019.11.24 20:31:13]
안녕하세요 우선 답변에 갑사드립니다
쿼리를 작성해보다가 답이 안나와서 질문을 올리게 되었습니다.
개요 : 영업일이 몇일 남았나 카운팅 (내일부터~2019년마지막일자 카운팅인데, 마지막영업일인2019/12/31 하루는 빼야해서 20191231일 기준 D-0 입니다)
★안되는것 : 일자별로 어떻게 그룹핑을 하는지 힌트라도 얻을 수 있으면 감사드리겠습니다
11월24일 기준 D-?일
11월25일 기준 D-?일
11월26일 기준 D-?일
이런식으로 일자별 남은영업일수의 D-day를 각각 구하고싶습니다 ㅠㅠ 달력만들고 오늘기준 D-day까지는 만들어봤는데요.. 일자별로 카운팅이 아무리해도 안되고 있습니다 ㅠㅠ
WITH TBL1 AS ( -- (작업시작일 ~ 2019년 마지막일자) 의 5영업일 달력 SELECT TO_CHAR(CALENDAR_DT, 'YYYYMMDD') AS CALENDAR_DT -- 달력일자 , CASE WHEN TO_CHAR(CALENDAR_DT, 'D') IN (1, 7) THEN '0' WHEN TO_CHAR(CALENDAR_DT, 'YYYYMMDD') = '20191225' THEN '0' ELSE '1' END AS BIZI_5_YN -- 5영업일여부 FROM ( SELECT SYSDATE + (LEVEL - 1) AS CALENDAR_DT FROM DUAL CONNECT BY LEVEL <= (TO_DATE('20200101') - SYSDATE + 1) ) ) -- 아래는 출력을 원하는 데이터포맷 예시입니다... SELECT 'D-' || SUM(DECODE(BIZI_5_YN, '1', 1, 0)) AS DYS -- 남은영업일수(내일부터~2019년마지막일자 카운팅, 마지막영업일인 20191231 빼고) , TO_CHAR(SYSDATE, 'YYYY/MM/DD (DY)') || ' 기준 ' AS BASE_DT -- , CALENDAR_DT -- 일자별로 각각 남은 D-day를 구하고싶은데, 그루핑조건을 제대로 주지 못하는것 같습니다 ㅠㅠ FROM TBL1 WHERE CALENDAR_DT > TO_CHAR(SYSDATE, 'YYYYMMDD') -- 오늘 빼고 AND CALENDAR_DT < '20191231';
감사합니다 !!