SQL server 2005 PIVOT运算符的使用
PIVOT,UNPIVOT运算符是SQL server 2005支持的新功能之一,主要用来实现行到列的转换。本文主要介绍PIVOT运算符的操作,以及如何实现动态PIVOT的行列转换。
关于UNPIVOT及SQL server 2000下的行列转换请参照本人的其它文章。
一、PIVOT的语法
二、PIVOT的使用例子
1. 静态PIVOT的用法 
       为演示,从NorthWind数据库中提取一些记录生成新的Orders表,然后使用PIVOT将行转换到列。
2. 动态PIVOT的使用 
对该动态pivot增加汇总列
生成汇总列的注意事项; 
    1->使用COALESCE函数生成列标题 。 
    2->使用COALESCE函数生成带有SUM求和函数并且指定了别名的字符串。 
    3->使用UNION对两个SELECT来实现联接。且将[Year]转换为字符串,因为YEAR(H.OrderDate)得值为 INT ,而''GrandTotal''为字符串,UNION 或UNION ALL使用时必须列的数量和类型相对应。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号