首頁 > 資料庫 > mysql教程 > Sql Server 2000 行转列的实现(横排)

Sql Server 2000 行转列的实现(横排)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 17:57:27
原創
1081 人瀏覽過

在一些统计报表中,常常会用到将行结果用列形式展现。我们这里用一个常见的学生各门课程的成绩报表,来实际展示实现方法。

我们用到的表结构如下:

三张表的关系为:

现有的测试数据为:

我们需要的结果是:


代码如下:
DECLARE @strSQL VARCHAR(8000)
SET @strSQL = 'SELECT t.STUNAME [姓名]'
SELECT @strSQL = @strSQL + ',SUM(CASE s.SNAME WHEN ''' + SNAME + ''' THEN g.[Score] END) [' + SNAME + ']' FROM (SELECT SNAME FROM [Subject]) AS tmp
SELECT @strSQL = @strSQL + ' FROM [Score] g,[Subject] s, [Student] t WHERE g.SID=s.SID AND g.STUID = t.STUID GROUP BY t.STUID, t.STUNAME'
EXEC(@strSQL)

SQL SERVER 2005 中,已经有实现此功能的内置方法了。

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
tp6連線sqlserver資料庫問題
來自於 1970-01-01 08:00:00
0
0
0
php 如何呼叫sqlserver的分頁儲存過程
來自於 1970-01-01 08:00:00
0
0
0
php 7.2.10 連結 SQLserver2008r2 報錯
來自於 1970-01-01 08:00:00
0
0
0
Laravel 中無法連線 SQL Server
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板