SQL PIVOT

系统 1643 0

可以使用 PIVOT 和 UNPIVOT 关系运算符将表值表达式更改为另一个表。PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。UNPIVOT 与 PIVOT 执行相反的操作,将表值表达式的列转换为列值。

示例

源数据

DaysToManufacture          AverageCost

0                          5.0885

1                          223.88

2                          359.1082

4                          949.4105

使用pivot行转列以得到以下的数据:

Cost_Sorted_By_Production_Days    0         1         2           3       4       

AverageCost                       5.0885    223.88    359.1082    NULL    949.4105

      
        --
      
      
         Pivot table with one row and five columns
      
      
        SELECT
      
      
        '
      
      
        AverageCost
      
      
        '
      
      
        AS
      
      
         Cost_Sorted_By_Production_Days, 


      
      
        [
      
      
        0
      
      
        ]
      
      , 
      
        [
      
      
        1
      
      
        ]
      
      , 
      
        [
      
      
        2
      
      
        ]
      
      , 
      
        [
      
      
        3
      
      
        ]
      
      , 
      
        [
      
      
        4
      
      
        ]
      
      
        FROM
      
      
        

(
      
      
        SELECT
      
      
         DaysToManufacture, StandardCost 

    
      
      
        FROM
      
       Production.Product) 
      
        AS
      
      
         SourceTable

PIVOT

(


      
      
        AVG
      
      
        (StandardCost)


      
      
        FOR
      
       DaysToManufacture 
      
        IN
      
       (
      
        [
      
      
        0
      
      
        ]
      
      , 
      
        [
      
      
        1
      
      
        ]
      
      , 
      
        [
      
      
        2
      
      
        ]
      
      , 
      
        [
      
      
        3
      
      
        ]
      
      , 
      
        [
      
      
        4
      
      
        ]
      
      
        )

) 
      
      
        AS
      
       PivotTable
    

 

详见:

使用 PIVOT 和 UNPIVOT(MSDN)

SQL PIVOT


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论