【发布时间】:2019-03-31 15:50:41
【问题描述】:
我有一个动态枢轴,每列底部有一个总计,但是我试图在每行的末尾添加一个总计。
我的 SQL 在下面
SELECT @Cols = STUFF((SELECT ',' +QUOTENAME(PRD_ValidDate)
FROM #Table
GROUP BY PRD_ValidDate
ORDER BY PRD_ValidDate
FOR XML PATH (''), Type).value('.','NVARCHAR(MAX)'),1,1,'')
SELECT @ColsWithNoNulls = STUFF((SELECT distinct ',ISNULL(' + QUOTENAME(PRD_ValidDate) + ', 0) ' + QUOTENAME(PRD_ValidDate)
FROM #Table
GROUP BY PRD_ValidDate
FOR XML PATH (''), Type).value('.','NVARCHAR(MAX)'),1,1,'')
SET @Query =
'
SELECT cardtype as [Card Type],' + @ColsWithNoNulls + ' FROM
(
SELECT ISNULL(CAST(Cardtype AS VARCHAR(30)),''TOTAL'') CardType, ISNULL(SUM (AllEntries),0) as AllEntries, PRD_ValidDate FROM #Table
GROUP BY cardtype, prd_Validdate
WITH CUBE
) src
PIVOT
( SUM(AllEntries)
For PRD_ValidDate IN ('+@Cols+')) piv
ORDER BY CASE WHEN (CardType=''TOTAL'')THEN 1 ELSE 0 END, CardType'
提前致谢!
【问题讨论】: