SQLServer之列数据转换为行数据

时间:2024-05-23 15:16:22

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。            
               
                    本文链接:https://blog.****.net/qq_24188927/article/details/99241696
                
            
                    
                                                    
                                        
                
                                            UNPIVOT特点

UNPIVOT运算符通过将列旋转到行来执行PIVOT的反向操作,UNPIVOT 并不完全是 PIVOT 的逆操作。 PIVOT 执行聚合,并将多个可能的行合并为输出中的一行。UNPIVOT 不重现原始表值表达式的结果,因为行已被合并。 另外,UNPIVOT 输入中的 NULL 值也在输出中消失了。如果值消失,表明在执行 PIVOT 操作前,输入中可能就已存在原始 NULL 值。

语法

select 输出列名,...,输出列名,输出值列名称from (select 输出列名,...,转换列列名,... from 数据库名.架构名.表名) as 别名unpivot(输出值列名称 for 输出列名 in(转换列列名,...)) as 别名

示例

select unpriots.Name,unpriots.Course,unpriots.Scorefrom (select Name,Android,[.NET],IOS,HTML5 from test1.dbo.student2) as aunpivot(Score for Course in(Android,[.NET],IOS,HTML5)) as unpriots

示例结果

SQLServer之列数据转换为行数据
                                    
                    
    
    
                
            
                
————————————————
版权声明:本文为****博主「小子pk了」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/qq_24188927/article/details/99241696