【发布时间】:2018-05-01 10:43:57
【问题描述】:
我希望在动态表中具有顶部周期 YYYYMM 的数据透视表布局。 显示每月消费总和 显示 1 年。 但是当我尝试将数据(期间(201801,201802...))与动态的 PERIOD 表一起使用时?!!
我不知道我是否在报告中做错了什么......有人可以帮忙吗?
查询没有处于动态状态并且可以工作,但是当我尝试更改为动态时,我无法使其工作。
DECLARE @ColumnNames NVARCHAR(MAX) = ' '
DECLARE @SQL NVARCHAR (MAX) = ' '
SELECT @ColumnNames += QUOTENAME(Period) + ','
FROM [STOKVIS LIVE].[dbo].[SR_CONS_Consumption1year]
SET @ColumnNames = LEFT (@ColumnNames,LEN(@ColumnNames)-1)
SET @SQL =
SELECT [No_] ,[Group],[Lakeview],[Name],[class.],[Stock], [Period]
FROM [STOKVIS LIVE].[dbo].[SR_CONS_Consumption1year]
PIVOT (
SUM ([Qty])
FOR [Period]
IN( ' + @ColumnNames + ')
)
as pivortable
【问题讨论】:
-
动态 SQL 在字符串中定义的 SQL 上使用
exec sp_executesql。我不确定你的代码应该做什么。 -
我希望报告显示如下:|item|组 |名称|股票|201804|201803|201802|201801|…(周期应该是动态的
标签: sql database sql-server-2008-r2 ssms