• 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)

      

  • 相关阅读:
    兼容IE678浏览器的html5标签的几个方案
    CommonJS和AMD/CMD
    axios的使用
    自己写表单校验插件
    表单校验
    JS打开新窗口的2种方式
    mac 上使用移动硬盘
    Boostrap
    Web.config详解
    DataTable
  • 原文地址:https://www.cnblogs.com/yoyohappy/p/3907986.html
Copyright © 2020-2023  润新知