首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)

; 方法三:使用PIVOT关系运算符,静态列字段; 方法四:使用PIVOT关系运算符,动态列字段; 扩展阅读一:参数化表名、分组列、行转列字段、字段值; 扩展阅读二:在前面的基础上加入条件过滤; 参考文献...、值这四个行转列固定需要的值变成真正意义的参数化,大家只需要根据自己的环境,设置参数值,马上就能看到效果了(可以直接跳转至:“参数化动态PIVOT行转列”查看具体的脚本代码)。...、分组列、行转列字段、字段值这几个参数,逻辑如图5所示, 1 --5:参数化动态PIVOT行转列 2 -- =============================================...SYSNAME --分组字段 12 DECLARE @row2column SYSNAME --行变列的字段 13 DECLARE @row2columnValue SYSNAME --行变列值的字段...13 DECLARE @row2column SYSNAME --行变列的字段 14 DECLARE @row2columnValue SYSNAME --行变列值的字段 15 SET @tableName

4.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL教程:行转列

    SQL刷题专栏 SQL145题系列 CASE函数的类型 CASE具有两种格式,简单CASE函数和CASE搜索函数。这两种方式,大部分情况下可以实现相同的功能。...CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 简单CASE 函数重在简洁,但是它只适用于这种单字段的单值比较...AND age>18 THEN '成年男性' WHEN sex = '2' AND age>18 THEN '成年女性' ELSE '其他' END 注意:CASE函数只返回第一个符合条件的值,...比如说,下面这段SQL,你永远无法得到“第二类”这个结果 CASE WHEN Type IN ('a','b') THEN '第一类' WHEN Type IN ('a') THEN...'第二类' ELSE '其他类' END 行转列 CASE用的比较广泛的功能就是行转列,就是将记录行里的数据按条件转换成具体的列。

    9210

    sql server 行转列 Pivot UnPivot

    /1787825.html PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR...P 完整语法: table_source PIVOT( 聚合函数(value_column) FOR pivot_column IN() ) UNPIVOT用于将列明转为列值(...>) ) 注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别 在数据库属性->选项->兼容级别改为 90 典型实例 一、行转列 1、建立表格 ifobject_id...@sql='select * from tb pivot (max(分数) for课程in ('+@sql+'))a' exec(@sql) 二、行转列结果加上总分、平均分 1、使用SQL Server...Server 2000动态SQL --SQL SERVER 2000动态SQL declare@sqlvarchar(500) set@sql='select姓名' select@sql=@sql+'

    1.6K30
    领券