У меня есть динамический c SQL Запрос, который предоставляет правильные данные, но у меня появляются дополнительные строки, я не уверен, почему. Запрос такой:
-- Nuke the temp DB if it already exists
IF OBJECT_ID('tempdb..##TBL_TEMP') IS NOT NULL
DROP TABLE ##TBL_TEMP
--Parameter to hold dynamically created SQL Script
declare @sqlquery as nvarchar(max)
--Parameter to hold the Pivoted Column Values
declare @pivotcolumns as nvarchar(max)
--generate list of territories that will become column names
select @pivotcolumns = coalesce(@pivotcolumns + ',','') + quotename(Territory)
from
(SELECT DISTINCT TERRITORY FROM LiveGAPDetailedBudget
where res_id = '160') AS X
--select @pivotcolumns
--create dynamic query with all values for pivot at runtime
set @sqlquery = 'SELECT [ProductCategory] AS "Product Category",' + @pivotcolumns +' INTO ##TBL_TEMP
FROM LiveGAPDetailedBudget
PIVOT (MAX([Budget])
FOR [Territory] IN (' + @pivotcolumns +')) AS T WHERE res_id = 160'
--select @sqlquery
--Execute Dynamic Query
EXEC sp_executesql @sqlquery
--View results in temp table
SELECT * FROM ##TBL_TEMP order by [Product Category]
Вывод запроса связан - я не могу всю жизнь объединить эти строки, чтобы исключить нули .... см. Ссылку ниже