PIVOT 사용 질문좀 드립니다

umtaeng 2017.08.11 14:33 Views : 2737

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

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

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 928
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 1624
9957 오라클을 sybase iq 로 옮길시 refcursor 문의 여우같은늑대 2017.08.24 5196
9956 안녕하세요. DB 변경을 하려고 하는데요... [17] ssunsori 2017.08.24 4225
9955 다른유형의 레코드형태를 어떻게 빨리 조회할 수 있을까요?) 데미소다감귤 2017.08.23 6398
9954 미러링 관련 문의드립니다. [1] 천송 2017.08.23 6456
9953 Partition table 질문 있습니다 [2] sin 2017.08.23 5433
9952 MSSQL 에서 웹 API 데이터를 가져올 수 있나요? [5] 그리드 2017.08.22 5525
9951 중복키 발생 원인추적 조언 부탁 드립니다. [1] 박우덩 2017.08.21 7478
9950 윈도우 인증시 접속 질문 입니다. 엄 태영 2017.08.21 6990
9949 select where절 isnull() 사용 질문있습니다. [1] 하하흐흐 2017.08.20 6149
9948 고수님들 쿼리문 질문드립니다.. [1] MS치킨송 2017.08.18 7249
9947 키를 어떻게 잡아야 좋을까요? [1] 데미소다감귤 2017.08.17 5777
9946 일자 쿼리 질문입니다. [1] 희망나라 2017.08.16 5487
9945 테이블 조인 쿼리 질문 드립니다. [4] newcomer 2017.08.14 3739
9944 ms_sql LDF/MDF화일 이동시 데이터 베이스 속도 저하 [1] 쭈환이 2017.08.11 2512
» PIVOT 사용 질문좀 드립니다 [4] umtaeng 2017.08.11 2737
9942 변수선언과 관련된 질문입니다. [2] LJstyleS 2017.08.10 4671
9941 동일 카운터 집계시 대표 행 하나만 나오게하기 [1] 개발좋아 2017.08.09 3857
9940 유지관리계획 -> sql 에이전트 수행시 로그온 에러 발생 문제 [1] 획~~ 2017.08.09 4751
9939 JOIN성능 문의입니다. [4] Sisylian 2017.08.09 4254
9938 메모리 관련 질문 [1] 악마곰 2017.08.09 5992





XE Login