zoukankan      html  css  js  c++  java
  • sql行转列

    DECLARE @t_Stu TABLE(
        [学生姓名] NVARCHAR(10),
        [课程名称] NVARCHAR(10),
        [考试成绩] INT
    );
    
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'张三',N'英语',88)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'张三',N'数学',87)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'李四',N'英语',92)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'李四',N'数学',90)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'王五',N'英语',79)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'王五',N'数学',90)

    找出英语成绩大于数学成绩的学生并列出来

    SELECT * FROM @t_Stu/*数据源*/
    AS p
    PIVOT
    (
        SUM(p.考试成绩/*行转列后 列的值*/) FOR 课程名称/*需要行转列的列*/ IN ([英语],[数学]/*列的值*/)
    ) AS T WHERE [英语]>[数学]

  • 相关阅读:
    第三周作业
    第二周作业
    第一周作业附加
    第三次结构部分作业
    第二次作业
    最后一周作业
    第14,15周作业
    第七周作业
    第六周作业
    第四周作业
  • 原文地址:https://www.cnblogs.com/zhyue93/p/sql_pivot1.html
Copyright © 2011-2022 走看看