declare @sql as varchar(max)
declare @sizename as varchar(max)
declare @total as varchar(max)
declare @articleno as varchar(max)
select @sizename =
QUOTENAME(SizeName)
FROM
(
Select Sizename from SIZESET left join SHIPMENTSIZESET on SIZESET.SizeSetID = SHIPMENTSIZESET.SizeSetID
left join SHIPMENTSCHED on SHIPMENTSCHED.ShipmentSchedID = SHIPMENTSIZESET.ShipmentSchedID
left join DESIGN on DESIGN.DesignID = SIZESET.DesignID
left join ARTICLE on ARTICLE.DesignID = DESIGN.DesignID where articleno = 'EZT02'
) as B
order by b.SizeName
SELECT @total =
coalesce (@total + ', Sum(','Sum(')+ QUOTENAME(cast(Sizename as varchar(10)))+') as '+QUOTENAME(cast(Sizename as varchar(10)))
FROM
(
Select startdate as [Start Date], enddate as [End Date], SizeName, quantity
from SIZESET left join SHIPMENTSIZESET on SIZESET.SizeSetID = SHIPMENTSIZESET.SizeSetID
left join SHIPMENTSCHED on SHIPMENTSCHED.ShipmentSchedID = SHIPMENTSIZESET.ShipmentSchedID
left join DESIGN on DESIGN.DesignID = SIZESET.DesignID
left join ARTICLE on ARTICLE.DesignID = DESIGN.DesignID where articleno = 'EZT02'
) as B
select @articleno =
QUOTENAME(SizeName)
FROM
(
Select Sizename from Sizeset join SHIPMENTSIZESET on SHIPMENTSIZESET.SizeSetID = SIZESET.SizeSetID
) as B
set @sql = 'With PivotData As
(
Select startdate as [Start Date], enddate as [End Date], SizeName, quantity
from SIZESET left join SHIPMENTSIZESET on SIZESET.SizeSetID = SHIPMENTSIZESET.SizeSetID
left join SHIPMENTSCHED on SHIPMENTSCHED.ShipmentSchedID = SHIPMENTSIZESET.ShipmentSchedID
left join DESIGN on DESIGN.DesignID = SIZESET.DesignID
left join ARTICLE on ARTICLE.DesignID = DESIGN.DesignID where articleno = '+@articleno+'
)
Select *
From
(
Select startdate as [Start Date], enddate as [End Date], '+ @sizename +'
from PivotData
Pivot
(
Sum(Quantity) for Sizename in('+@sizename+')
) as PivotResult
Union All
select ''Grand Total'', '+@total+'
from
(
Select startdate as [Start Date], enddate as [End Date], '+ @sizename +'
from PivotData
Pivot
(
Sum(Quantity) for Sizename in('+@sizename+')
) as PivotResult
)tot
)src
'
exec(@sql)
我只是按照一些与创建数据透视表相关的代码但出现错误 列名称“超大”
无效