zoukankan      html  css  js  c++  java
  • SQL2005 新功能:行列轉換

    --Create the table and insert values as portrayed in the above example.
    CREATE TABLE pvt (VendorID int, Emp1 int, Emp2 int,
    Emp3 int, Emp4 int, Emp5 int)
    GO
    INSERT INTO pvt VALUES (1,4,3,5,4,4)
    INSERT INTO pvt VALUES (2,4,1,5,5,5)
    INSERT INTO pvt VALUES (3,4,3,5,4,4)
    INSERT INTO pvt VALUES (4,4,2,5,5,4)
    INSERT INTO pvt VALUES (5,5,1,5,5,5)
    GO
    VendorID    Employee                                                                                                                         Orders
    ----------- -------------------------------------------------------------------------------------------------------------------------------- -----------
    1           Emp1                                                                                                                             4
    1           Emp2                                                                                                                             3
    1           Emp3                                                                                                                             5
    1           Emp4                                                                                                                             4
    1           Emp5                                                                                                                             4
    2           Emp1                                                                                                                             4
    2           Emp2                                                                                                                             1
    2           Emp3                                                                                                                             5
    2           Emp4                                                                                                                             5
    2           Emp5                                                                                                                             5
    3           Emp1                                                                                                                             4
    3           Emp2                                                                                                                             3
    3           Emp3                                                                                                                             5
    3           Emp4                                                                                                                             4
    3           Emp5                                                                                                                             4
    4           Emp1                                                                                                                             4
    4           Emp2                                                                                                                             2
    4           Emp3                                                                                                                             5
    4           Emp4                                                                                                                             5
    4           Emp5                                                                                                                             4
    5           Emp1                                                                                                                             5
    5           Emp2                                                                                                                             1
    5           Emp3                                                                                                                             5
    5           Emp4                                                                                                                             5
    5           Emp5                                                                                                                             5

    (25 row(s) affected)

    SELECT VendorID, Employee, Orders
     into pvt_cc FROM
       (SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
       FROM pvt) p
    UNPIVOT
       (Orders FOR Employee IN
          (Emp1, Emp2, Emp3, Emp4, Emp5)
    )AS unpvt
    GO
    select * from pvt_cc
    pivot (
    sum(Orders)
    for Employee in (Emp1, Emp2, Emp3, Emp4, Emp5)
    ) as pivt

    VendorID    Emp1        Emp2        Emp3        Emp4        Emp5
    ----------- ----------- ----------- ----------- ----------- -----------
    1           4           3           5           4           4
    2           4           1           5           5           5
    3           4           3           5           4           4
    4           4           2           5           5           4
    5           5           1           5           5           5

    (5 row(s) affected)

  • 相关阅读:
    The Network Adapter could not establish the connection问题研究
    条件更新或插入
    如何解决Oracle临时表空间过大
    oracle的临时表空间写满磁盘空间解决改问题的步骤
    如何在oracle中缩小临时表空间?ORA-01652无法在表空间中扩展temp
    oracle mysql sql 根据一张表更新另一张表
    Don’t Repeat Yourself,Repeat Yourself
    mysql oracle sql获取树 父级 子级 及自己
    hutool BigExcelWriter 下的autoSizeColumnAll异常问题
    Java手写数组栈
  • 原文地址:https://www.cnblogs.com/Bluer/p/787026.html
Copyright © 2011-2022 走看看