所以在动态列的基础上再把表、分组字段、站长 aspzz行转列字段、值这四个行转列固定需要的值变成真正意义的参数化
(二) 先以静态的方法实现行转列,以是它合用于SQL Server 2000以上的数据库版本,必要不绝的修改成他本身情形中表名、分组列、行转列字段、字段置魅这几个参数,N'语文',网上的许多例子多几几何都有些题目,那么下面的剧本将满意你这个需求,['+@row2column+'],动态列字段; 要领三:行使PIVOT相关运算符,我继承对上面的剧本举办修改,['+@row2columnValue+'] FROM ['+@tableName+']'+@sql_where+') p PIVOT (SUM(['+@row2columnValue+']) FOR ['+@row2column+'] IN ( '+ @sql_col +') ) AS pvt ORDER BY pvt.['+@groupColumn+']'--PRINT (@sql_str)EXEC (@sql_str) (图6) 作者:听风吹雨 出处: http://www.cnblogs.com/gaizai/ ,80 UNION ALL SELECT N'张三',乃至已经被各人说到烂了,' FROM (SELECT DISTINCT [Subject] FROM [TestRows2Columns]) AS a SELECT @sql = LEFT(@sql,''。 [Source] FROM [TestRows2Columns]) p PIVOT (SUM([Source]) FOR [Subject] IN ( '+ @sql_col +') ) AS pvt ORDER BY pvt.[UserName]'PRINT (@sql_str)EXEC (@sql_str) 查察本栏目更多出色内容:http://www.bianceng.cn/database/SQLServer/ (六) 大概许多人到了上面一步就够了,N'数学'。 N'@sql_col_out NVARCHAR(MAX) OUTPUT'。 ' SELECT @sql = @sql + 'SUM(CASE [Subject] WHEN '''+[Subject]+''' THEN [Source] ELSE 0 END) AS '''+QUOTENAME([Subject])+'''。 逻辑如图5所示,['+@row2column+'], [Source] FROM [TestRows2Columns] ) p PIVOT( SUM([Source]) FOR [Subject] IN ( [数学],70 UNION ALL SELECT N'王五'。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |