mysql 달력 쿼리에 대해 여쭙니다. 0 6 2,275

by 너구링 [2015.07.03 11:27:43]


현재. 

 

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() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입