我创建了一个要用作视图的动态 SQL 查询,但是,该查询依赖于使用“DECLARE”语句。我曾尝试在没有“DECLARE”语句的情况下对其进行重组,但未能成功。我正在使用 SQL Server Express 2014,希望能提供任何帮助。
DECLARE @query nvarchar(MAX)
DECLARE @Name nvarchar(MAX)
select @Name = STUFF((SELECT distinct ',' + QUOTENAME(Name)
FROM [dbo].[ObjectView]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
SET @query = ' SELECT * from
(
select *
from [dbo].[ObjectView]
)t
pivot (MAX(Value) for Name IN (' +@Name+ ')) AS PivotTable'
execute(@query)