반응형
날짜 상위 10개 가져와서 PIVOT 하기
DECLARE @DATE VARCHAR(1000)
,@DATETIME VARCHAR(1000) = ''
, @QUERY VARCHAR(8000)
DECLARE CURSOR1 CURSOR FOR
SELECT DISTINCT TOP 10 CONVERT(DATE, [컬럼명]) FROM [테이블명] ORDER BY 1 DESC
OPEN CURSOR1
FETCH NEXT FROM CURSOR1 INTO @DATE
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @DATETIME = @DATETIME + '[' + @DATE + '],'
FETCH NEXT FROM CURSOR1 INTO @DATE
END
CLOSE CURSOR1;
DEALLOCATE CURSOR1;
SET @DATETIME = SUBSTRING(@DATETIME, 1 , LEN(@DATETIME) -1)
PRINT @DATETIME
SET @QUERY ='SELECT * FROM(
SELECT CONVERT(DATE, C.[컬럼명1]) AS CheckTime, [컬럼명2]
FROM [테이블명] A
) AA PIVOT(MAX([컬럼명2]) FOR [컬럼명1] IN (' + @DATETIME + ')) AS PV
Execute(@QUERY)
반응형
LIST
'DB' 카테고리의 다른 글
[오라클] ANSI Join 에 using문 사용 (0) | 2024.02.20 |
---|---|
[MSSQL] 날짜 구하기 (1) | 2024.02.20 |
트랜잭션 분리 (0) | 2024.02.19 |
[MSSQL] 시작과 종료 일자의 날짜와 DATA 가져오기 (0) | 2024.02.18 |
[MSSQL] HINT 사용법 (1) | 2024.02.17 |