现在的位置: 首页 > 综合 > 正文

普通行列转换

2017年11月26日 ⁄ 综合 ⁄ 共 2764字 ⁄ 字号 评论关闭

例子如下:

假设有张学生成绩表(tb)如下:
姓名           课程            分数

---------------------------------------
张三           语文            74
张三           数学            83
张三           物理            93
李四           语文            74
李四           数学            84
李四           物理            94

--------------------------------------
想变成(得到如下结果):
姓名       语文       数学      物理
--------------------------------------------
李四         74          84         94
张三         74          83         93
--------------------------------------------

 

建立表

 

   

 

SQL SERVER 2000 静态SQL,指课程只有语文、数学、物理这三门课程。(以下同)

 

 

 

SQL SERVER 2000 动态SQL,指课程不止语文、数学、物理这三门课程。(以下同)

 

 

SQL SERVER 2005 静态SQL

 

 

 

SQL SERVER 2005 动态SQL

 

 

 

以上是不固定方式,以下是固定方式(固定 '语文','数学','英语' )

 

 

 

在上述结果的基础上加平均分,总分,得到如下结果:

姓名      语文      数学      物理     平均分    总分
-----------------------------------------------------------------
李四       74         84           94        84.00      252
张三       74         83           93        83.33      250
-----------------------------------------------------------------

 

SQL SERVER 2000 静态SQL。

 

 

 

SQL SERVER 2000 动态SQL

 

  

 

SQL SERVER 2005 静态SQL

 

 

SQL SERVER 2005 动态SQL

 

抱歉!评论已关闭.