단순 쿼리문 질문좀 드리겠습니다~ 0 2 1,752

by 쪼용 [SQL Query] [2011.03.28 11:55:07]



SELECT T_DATE, NVL(T_CNT,0)
FROM
 (
 SELECT '201103'||TRIM(TO_CHAR(LEVEL,'00')) AS T_DATE
 FROM DUAL
 CONNECT BY LEVEL<=TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE('20110301','YYYYMMDD')),'DD'))
 ),
 (
 SELECT ENTR_DATE, COUNT(*) AS T_CNT
 FROM TB_FT_INTR_GOLF_USE
 WHERE USE_STATUS_CODE IN ('CI','CO')
  AND SUBSTR(ENTR_DATE,1,6)='201103'
 GROUP BY ENTR_DATE
 )
WHERE T_DATE=ENTR_DATE(+)
ORDER BY T_DATE

이 쿼리문은 2011년03월의 1일부터 31일까지의 인원수를 구하는 쿼리문입니다.
여기서 제가 알고자 하는 것은 제가 변수로 받아온 '연월'(예를 들어 201102)을 받아오게 되면
DUAL부분에 조회되는 '201103'에 대한 부분과 CONNECT BY에 '201103'을 모두 '201102'로 바꿔주어야
하는데 그 부분을 어떻게 바꾸어야 할지 모르겠습니다;;
받아온 변수를 바로 넣을 수 있는 방법이 있는건지 아니면 다른 방법이 있는건지
상세히 알려주셨으면 감사하겠습니다

by 티그리스 [2011.03.28 12:44:13]
바인딩 변수를 찾아보세요.
여기 강좌에도 있고 검색해보면 많이 나올겁니다.

by 쪼용 [2011.03.28 12:52:33]
티그리스님 감사합니다~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입