PIVOT 사용 질문좀 드립니다

umtaeng 2017.08.11 14:33 Views : 2744

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

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

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
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 22184
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12260
9960 SQL Server 와 SQL Server Agent 계정 비번을 몰라서..ㅠ 겨울은 2017.08.25 5627
9959 다른 3개의 테이블 합치는 쿼리 [1] 신입입니다 2017.08.25 6168
9958 MSSQL Express에서 SSIS 이용이 가능한가요? 양털목도리 2017.08.24 6327
9957 오라클을 sybase iq 로 옮길시 refcursor 문의 여우같은늑대 2017.08.24 5202
9956 안녕하세요. DB 변경을 하려고 하는데요... [17] ssunsori 2017.08.24 4260
9955 다른유형의 레코드형태를 어떻게 빨리 조회할 수 있을까요?) 데미소다감귤 2017.08.23 6410
9954 미러링 관련 문의드립니다. [1] 천송 2017.08.23 6474
9953 Partition table 질문 있습니다 [2] sin 2017.08.23 5441
9952 MSSQL 에서 웹 API 데이터를 가져올 수 있나요? [5] 그리드 2017.08.22 5570
9951 중복키 발생 원인추적 조언 부탁 드립니다. [1] 박우덩 2017.08.21 7505
9950 윈도우 인증시 접속 질문 입니다. 엄 태영 2017.08.21 7012
9949 select where절 isnull() 사용 질문있습니다. [1] 하하흐흐 2017.08.20 6157
9948 고수님들 쿼리문 질문드립니다.. [1] MS치킨송 2017.08.18 7254
9947 키를 어떻게 잡아야 좋을까요? [1] 데미소다감귤 2017.08.17 5783
9946 일자 쿼리 질문입니다. [1] 희망나라 2017.08.16 5501
9945 테이블 조인 쿼리 질문 드립니다. [4] newcomer 2017.08.14 3751
9944 ms_sql LDF/MDF화일 이동시 데이터 베이스 속도 저하 [1] 쭈환이 2017.08.11 2523
» PIVOT 사용 질문좀 드립니다 [4] umtaeng 2017.08.11 2744
9942 변수선언과 관련된 질문입니다. [2] LJstyleS 2017.08.10 4675
9941 동일 카운터 집계시 대표 행 하나만 나오게하기 [1] 개발좋아 2017.08.09 3867





XE Login