zoukankan      html  css  js  c++  java
  • Access and SQL Server 中的表转置

      样表如下:

    Student
    IDsNameSubjectScore
    1 张三 Chinese 80
    2 张三 Math 90
    3 张三 English 85
    4 李四 Chinese 85
    5 李四 Math 92
    6 李四 English 82

        Access:

    TRANSFORM Avg(Student.Score) AS ScoreOfAvg
    SELECT Student.sName
    FROM Student
    GROUP BY Student.sName
    PIVOT Student.Subject;

      

     SQL Server:  

    Select sName,
    Avg(case when Subject='Chinese' then Score end) As 'Chinese',
    Avg(case when Subject='English' then Score end) As 'English',
    Avg(case when Subject='Math' then Score end) As 'Math'
    From Student
    Group By sName

     
    sNameChineseEnglishMath
    李四 85 82 92
    张三 80 85 90


    升级版:

    declare @s varchar(8000),@l varchar(8000)
    Set @s=''
    Select @s=@s +', Avg(case Subject when '''+ Subject+''' then Score else 0 end) As ['+Subject+']' From Student Group By Subject
    Set @l='Select sName' +@s+'From Student Group By sName ORDER BY sName'
    Exec (@l)

      

  • 相关阅读:
    模块
    匿名函数
    推导式
    函数 重点
    新的
    知识点补充
    unity学习规划与进度
    暂停·笔记
    解决问题__max 模型白色 材质球换没用
    Max__cs骨骼
  • 原文地址:https://www.cnblogs.com/yoyohappy/p/3907986.html
Copyright © 2011-2022 走看看