如何解决SQL Server 2017-使用枢轴和动态SQL转换存储过程以进行查看
我有一张桌子,如下表
CREATE TABLE [dbo].[table1]
(
col1 NVARCHAR(255),col2 NVARCHAR(255),colp NVARCHAR(255),colnum INTEGER
)
和一个存储过程
CREATE PROCEDURE [dbo].[procedure]
AS
DECLARE @cols NVARCHAR(MAX),@sql NVARCHAR(MAX)
SET @cols = STUFF((SELECT disTINCT ',' + QUOTENAME([colp])
FROM [dbo].[table1]
ORDER BY 1
FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)'),1,'')
SET @sql = 'SELECT [col1],[col2],' + @cols + '
FROM
(SELECT [col1],[colp],[colnum]
FROM [dbo].[table1]) s
PIVOT
(MAX(colnum) FOR colp IN (' + @cols + ')) p'
EXECUTE(@sql)
colp
列中的值需要动态确定-它不是固定列表。
如何将此存储过程转换为视图?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。