y bi8bo 2021-11-05 14:49 采纳率: 0%
浏览 54

sql 列名和行名怎么互转

类似这种

img

我可以查出来第一个表那种的查不出来结果表那种 也转不明白 case when 转不成

  • 写回答

1条回答 默认 最新

  • CSDN专家-文盲老顾 2021-11-05 15:15
    关注

    使用行转列,根据表结构和值动态生成

    给你个mssql简单的你可以参考下

    
    select * from master..spt_values where type='p' and number<10
    
    ;with t as (
        select * from (
            select convert(varchar(5),name) as name
            ,convert(varchar(5),number) as number
            ,convert(varchar(5),type) as type
            ,convert(varchar(5),low) as low
            ,convert(varchar(5),high) as high
            ,convert(varchar(5),status) as status 
            from master..spt_values 
            where type='p' and number<10
        ) a
        unpivot(val for col in(name,type,low,high,status)) b
    )
    select * from t
    pivot(max(val) for number in ([0],[1],[2],[3],[4],[5],[6],[7],[8],[9])) b
    
    

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 11月5日