zoukankan      html  css  js  c++  java
  • MSSQL旋转和反旋转的例子

    1.旋转

    ;WITH CTE AS (
        SELECT 'A' AS TAG,'NUM_1' AS ITEM,10 AS VAL
        UNION ALL
        SELECT 'A','NUM_2',9
        UNION ALL
        SELECT 'A','NUM_3',8
        UNION ALL
        SELECT 'A','NUM_4',7
        UNION ALL
        SELECT 'B','NUM_1',22
        UNION ALL
        SELECT 'B','NUM_2',23
        UNION ALL
        SELECT 'B','NUM_4',24
        UNION ALL
        SELECT 'B','NUM_5',0
    )
    SELECT TAG,NUM_1 AS NUM_1,NUM_2 AS NUM_2,NUM_3 AS NUM_3,NUM_4 AS NUM_4,NUM_5 AS NUM_5
    FROM CTE
    PIVOT(
    MAX(VAL) FOR ITEM IN (NUM_1,NUM_2,NUM_3,NUM_4,NUM_5)
    ) AS P 
    ORDER BY TAG DESC

    2.反旋转

    with cte as (
    select 'A' as tag
        ,10 as num_1
        ,9 as num_2
        ,8 as num_3
        ,7 as num_4
        ,null as num_5
    union 
    select 'B' as tag
        ,22 as num_1
        ,23 as num_2
        ,null as num_3
        ,24 as num_4
        ,0 as num_5
    )    
    select tag,item,val
    from (
    select * from cte
    ) as pivotinput
    unpivot
    (
     val for item in (num_1,num_2,num_3,num_4,num_5)
    ) as pivotoutput
    
     
  • 相关阅读:
    2021/3/12
    2021/3/11
    2021/3/10
    2021/3/9
    2021/3/8
    2021/3/5
    2021/3/4
    2021/3/3
    2021/3/2
    2021/3/1
  • 原文地址:https://www.cnblogs.com/champaign/p/5956981.html
Copyright © 2011-2022 走看看