【发布时间】:2014-07-15 17:55:07
【问题描述】:
我问了一个问题并得到了答案,因为我必须使用 Dynamic Pivot Link to Question 并且我得到了很大的帮助。现在,我试图摆脱所有空值的行,但我做不到。
*请注意当前结果的列标题应该是第 01 部分、第 ABC 部分和第 03 部分(不是如图所示的 0)
WHERE SubPart IS NOT NULL/ WHERE Quantity IS NOT NULL
但它不起作用(好吧,它仍然查询但使用空值)
在 FROM 和 from 语句之后
DECLARE @columns NVARCHAR(MAX)
,@sql NVARCHAR(MAX)
SET @columns = N''
--Get column names for entire pivoting
SELECT @columns += N', ' + QUOTENAME(SpreadCol)
FROM (select distinct Part_Number as SpreadCol
from test
) AS T
--select @columns
SET @sql = N'
SELECT SubPart, ' + STUFF(@columns, 1, 2, '') + '
FROM
(select SubPart , Part_Number as SpreadCol , Quantity
from test ) as D
PIVOT
(
sum(Quantity) FOR SpreadCol IN ('
+ STUFF(REPLACE(@columns, ', [', ',['), 1, 1, '')
+ ')
) AS Pivot1
'
--select @sql
EXEC sp_executesql @sql
【问题讨论】:
标签: sql sql-server sql-server-2008