데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

PIVOT 사용 질문좀 드립니다

umtaeng 2017.08.11 14:33 Views : 2698

안녕하세요, 일주일전에 질문글을 올렸는데 큰 도움이 되었습니다, 감사합니다.

그런데 한가지 질문이 더 있어서 글을 올리게 되었습니다. 지난번월별회원가입 통계를 물어봣는데

WITH CTE_MONTHS AS (      

SELECT '2017-07-01' AS THIS_DATE


UNION ALL      


SELECT CONVERT(VARCHAR(10), DATEADD(DAY, 1, THIS_DATE), 120) THIS_DATE      

FROM CTE_MONTHS      

WHERE CONVERT(VARCHAR(10), DATEADD(DAY, 1, THIS_DATE), 120) <= '2017-07-31'

)      


SELECT

A.THIS_DATE

,ISNULL(TOTAL_COUNT, 0) AS NEW

FROM

CTE_MONTHS A

LEFT JOIN (

SELECT

REGIST_DATE = CONVERT(VARCHAR(10),REGIST_DATE,121)

,COUNT(*) TOTAL_COUNT

FROM

TB_USER

WHERE

REGIST_DATE BETWEEN '2017-07-01' AND '2017-08-01'

GROUP BY CONVERT(VARCHAR(10),REGIST_DATE,121)

) B ON A.THIS_DATE = B.REGIST_DATE

친절하게 알려주셨는데, 이걸 PIVOT을 사용해서 날짜가 행이 되는 형태를 뽑고 있는데 잘안되서.. 질문드립니다.

WITH CTE_MONTHS AS (      
SELECT '2017-07-01' AS THIS_DATE

UNION ALL      

SELECT CONVERT(VARCHAR(10), DATEADD(DAY, 1, THIS_DATE), 120) THIS_DATE      
FROM CTE_MONTHS      
WHERE CONVERT(VARCHAR(10), DATEADD(DAY, 1, THIS_DATE), 120) <= '2017-07-31'
)      

SELECT
*
FROM
CTE_MONTHS A
LEFT JOIN (
SELECT 
--REGIST_DATE
REGIST_DATE = CONVERT(VARCHAR(10),REGIST_DATE,121)
,COUNT(*) TOTAL_COUNT
,CAMPUS_CODE
FROM
TB_USER
WHERE
REGIST_DATE BETWEEN '2017-07-01' AND '2017-08-01'
GROUP BY CAMPUS_CODE,CONVERT(VARCHAR(10),REGIST_DATE,121)
) B ON A.THIS_DATE = B.REGIST_DATE
PIVOT (sum(TOTAL_COUNT) FOR THIS_DATE IN ([2017-07-01],[2017-07-02],[2017-07-03],[2017-07-04],[2017-07-05],[2017-07-06],[2017-07-07],[2017-07-08],[2017-07-09],[2017-07-10],[2017-07-11],
[2017-07-12],[2017-07-13],[2017-07-14],[2017-07-15],[2017-07-16],[2017-07-17],[2017-07-18],[2017-07-19],[2017-07-20],[2017-07-21],[2017-07-22],[2017-07-23],[2017-07-24],
[2017-07-25],[2017-07-26],[2017-07-27],[2017-07-28],[2017-07-29],[2017-07-30],[2017-07-31]))  AS PVT

이렇게 하니 얼추나오는것 같긴한데 결과가 없는 CAMPUS_CODE는 아예나오지도않고.. 모양이 약간 이상하네요..ㅠ
손좀봐주실분계신가요..
No. Subject Author Date Views
9952 MSSQL 에서 웹 API 데이터를 가져올 수 있나요? [5] 그리드 2017.08.22 5338
9951 중복키 발생 원인추적 조언 부탁 드립니다. [1] 박우덩 2017.08.21 7369
9950 윈도우 인증시 접속 질문 입니다. 엄 태영 2017.08.21 6938
9949 select where절 isnull() 사용 질문있습니다. [1] 하하흐흐 2017.08.20 6103
9948 고수님들 쿼리문 질문드립니다.. [1] MS치킨송 2017.08.18 7219
9947 키를 어떻게 잡아야 좋을까요? [1] 데미소다감귤 2017.08.17 5731
9946 일자 쿼리 질문입니다. [1] 희망나라 2017.08.16 5459
9945 테이블 조인 쿼리 질문 드립니다. [4] newcomer 2017.08.14 3705
9944 ms_sql LDF/MDF화일 이동시 데이터 베이스 속도 저하 [1] 쭈환이 2017.08.11 2462
» PIVOT 사용 질문좀 드립니다 [4] umtaeng 2017.08.11 2698
9942 변수선언과 관련된 질문입니다. [2] LJstyleS 2017.08.10 4625
9941 동일 카운터 집계시 대표 행 하나만 나오게하기 [1] 개발좋아 2017.08.09 3816
9940 유지관리계획 -> sql 에이전트 수행시 로그온 에러 발생 문제 [1] 획~~ 2017.08.09 4716
9939 JOIN성능 문의입니다. [4] Sisylian 2017.08.09 4225
9938 메모리 관련 질문 [1] 악마곰 2017.08.09 5951
9937 프로시저 도움 부탁드립니다.. [2] 재바우 2017.08.05 3161
9936 일별 회원가입 통계를 하고싶습니다.. [5] umtaeng 2017.08.03 2893
9935 특정유저가 특정 링크드 서버만 SELECT 가능 하게 가능 할까요? 군고구마 2017.08.03 4943
9934 SQL 2008 서버 접속 오류의 질문 한현 2017.08.03 5550
9933 전화번호가 속한 내용들은 모두 조회하고 싶습니다 [4] 문상연 2017.08.02 3204





XE Login