动态SQL解决PIVOT透视多列的问题
2013-07-31 16:11
281 查看
有时需要透视的列比较多,或不固定,用动态SQL可以很好地解决问题:
CREATE PROCEDURE [dbo].[usp_getErrWeightReportReceiver] AS BEGIN DECLARE @PLANTS VARCHAR(500)='' DECLARE @SQL NVARCHAR(1000) SELECT @PLANTS = @PLANTS + '[' + VALUE + '],' FROM (SELECT DISTINCT VALUE FROM [dbo].[errWeightMail] WHERE ID='FSL_MAILTO' AND VALUE='QQ20') T SET @PLANTS= LEFT(@PLANTS, LEN(@PLANTS)-1) SET @SQL= 'WITH A AS( SELECT ID,VALUE,VALUE PLANT,VALUE3 FROM [dbo].[errWeightMail] WHERE ID=''FSL_MAILTO'' AND VALUE=''QQ20'' ) SELECT PLANT,{0} FROM A PIVOT(MIN(VALUE3) FOR VALUE IN({0}))T' SET @SQL= REPLACE(@SQL,'{0}',@PLANTS) EXEC sp_executesql @SQL END
相关文章推荐
- 解决动态生成的SQL中特殊字符的问题 QuotedStr function
- 利用动态SQL解决排序问题
- 解决sybase存储过程中不能取得动态sql输出参数的问题
- “对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成”问题的解决
- 利用动态SQL解决排序问题
- 对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成问题的解决办法
- 对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成”问题的解决
- 对于“不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成”问题的解决
- 使用Rocker模板引擎解决动态拼接SQL语句的问题
- MyBatis解决Update动态SQL逗号的问题
- mybatis动态sql解决关于There is no getter for property named 'certitype'错误问题
- 对于“不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成”问题的解决
- AX中动态产生方法并且调用,解决根据不同条件产生不同SQL逻辑的问题很方便
- linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)
- 解决jquery动态创建元素绑定事件失效问题
- T-SQL问题解决集锦——数据加解密(2)
- iOS中关于动态Tableview中的cell数据传输的多线程问题解决之拙见
- T-SQL问题解决集锦——数据加解密
- 关于NGUI的动态加载后的刷新显示问题,解决办法!!
- SQL Server"错误 21002: [SQL-DMO]用户 * 已经存在问题解决