내가 무엇을해야하는지 명확히하는 데 도움이되기를 바랍니다. 필자는 본질적으로 날짜가있는 표를 읽고 나서이 날짜를 개별 열로 변환하려고합니다.MS SQL : 피벗 테이블 주문 열
불행히도 열이 잘못되었습니다. 이 열을 어떻게 주문합니까? | 01/01/2013 | 02/01/2013 | 기타? 모든 지침을 많이 주시면 감사하겠습니다.
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.GL_Effective_Date)
FROM [03_rdm].[Table_2013] c
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT Ref_Account_Class, ' + @cols + ' from
(
select TOP 100 PERCENT
Ref_Account_Class
, GL_Amount
, GL_Effective_Date
from [03_rdm].[Table_2013]
where Ref_Account_Class = ''Accounts Receivable''
order by GL_Effective_Date
) x
pivot
(
max(GL_Amount)
for GL_Effective_Date in (' + @cols + ')
) p '
execute(@query)
나는 이것을 시도했지만 오류가 발생했습니다. "SELECT DISTINCT가 지정된 경우 ORDER BY 항목이 선택 목록에 나타나야합니다." – Calgar99
그래, 나쁘다. DISTINCT가 얼마나 엄격한 지 잊어 버렸습니다. DISTINCT 대신 GROUP BY를 사용해야합니다. – GarethD