zoukankan      html  css  js  c++  java
  • sql中 行转列,列转行操作

    CREATE TABLE [StudentScores]
    (
    [UserName] NVARCHAR(20), --学生姓名
    [Subject] NVARCHAR(30), --科目
    [Score] FLOAT, --成绩
    )

    INSERT INTO [StudentScores] SELECT '张三', '语文', 80
    INSERT INTO [StudentScores] SELECT '张三', '数学', 90
    INSERT INTO [StudentScores] SELECT '张三', '英语', 70
    INSERT INTO [StudentScores] SELECT '张三', '生物', 85
    INSERT INTO [StudentScores] SELECT '李四', '语文', 80
    INSERT INTO [StudentScores] SELECT '李四', '数学', 92
    INSERT INTO [StudentScores] SELECT '李四', '英语', 76
    INSERT INTO [StudentScores] SELECT '李四', '生物', 88
    INSERT INTO [StudentScores] SELECT '码农', '语文', 60
    INSERT INTO [StudentScores] SELECT '码农', '数学', 82
    INSERT INTO [StudentScores] SELECT '码农', '英语', 96
    INSERT INTO [StudentScores] SELECT '码农', '生物', 78


    select * from StudentScores
    --

    ---行转列
    select * from [StudentScores]
    AS P
    pivot
    (
    sum(Score) FOR
    p.Subject IN ([语文],[数学],[英语],[生物])
    ) AS T

    ----
    CREATE TABLE ProgrectDetail
    (
    ProgrectName NVARCHAR(20), --工程名称
    OverseaSupply INT, --海外供应商供给数量
    NativeSupply INT, --国内供应商供给数量
    SouthSupply INT, --南方供应商供给数量
    NorthSupply INT --北方供应商供给数量
    )

    INSERT INTO ProgrectDetail
    SELECT 'A', 100, 200, 50, 50
    UNION ALL
    SELECT 'B', 200, 300, 150, 150
    UNION ALL
    SELECT 'C', 159, 400, 20, 320

    select * from ProgrectDetail

    ---列转行
    select P.ProgrectName,P.Supplier,P.SupplyNum
    from
    (
    select ProgrectName, OverseaSupply, NativeSupply,
    SouthSupply, NorthSupply
    from ProgrectDetail
    )T
    unpivot
    (
    SupplyNum FOR Supplier IN
    (OverseaSupply, NativeSupply, SouthSupply, NorthSupply )
    ) P

  • 相关阅读:
    Apache 安装及常用参数设置
    Apache 开启压缩传输
    在 CentOS 上编写 init.d service script [转]
    学习资源
    IO流(10)复制多级文件夹
    IO流(9)复制指定文件夹下指定文件到目的文件夹,并改名
    IO流(8)递归删除带文件的目录
    IO流(7)获取指定文件夹下的所有文件
    IO流(6)获取功能
    IO流(5)判断功能
  • 原文地址:https://www.cnblogs.com/yjm8023/p/13305186.html
Copyright © 2011-2022 走看看