1월부터 12월까지의 달력을 테이블이 아닌, 쿼리로 짜서 기존의 데이터가 담긴 테이블과 outerJoin을 시켜
날짜별로 데이터가 들어가도록 해주려고 합니다..
그런데 테이블이아니라 view로 짜려다보니 그냥 하드코딩으로 일수를 넣어주는 것 밖에는 쿼리작성법을 잘 모르겠습니다.
어떤 느낌으로 쿼리를 짜야하는지..
조언 부탁드립니다.
by 개발뉴비
[2015.07.03 13:19:23]
SELECT TO_DATE('20150101', 'YYYYMMDD') + LEVEL - 1
FROM DUAL
CONNECT BY LEVEL <= TO_DATE('20151231', 'YYYYMMDD') - TO_DATE('20150101', 'YYYYMMDD') + 1
by 너구링
[2015.07.03 13:23:56]
mysql 에서는..connect by 사용이 안되네요... ㅠ
by 마농
[2015.07.03 13:22:43]
SELECT dt + INTERVAL lv-1 DAY dt
FROM (-- connect by level 대신 시스템정보 테이블 columns 를 이용
SELECT ordinal_position lv
, CONCAT('201507', '01') dt
FROM information_schema.columns
WHERE table_schema = 'mysql'
AND table_name = 'user'
) a
WHERE lv <= DAY(LAST_DAY(dt))
;
by 너구링
[2015.07.03 13:28:02]
죄송한데..혹시 No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar 스키마가 선택되지 않았다는 에러같은데... 이 쿼리에서는 어떻게 해결해줘야할지.. 알려주실수있나요?
by 마농
[2015.07.03 13:33:20]
수정했습니다.
information_schema.columns
by 너구링
[2015.07.03 13:36:21]
감사합니다. 이런식으로 월을 지정해주는 건가보군요.,
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.