欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Sql Server 2000 行轉(zhuǎn)列的實(shí)現(xiàn)(橫排)

 更新時(shí)間:2008年11月08日 20:15:40   作者:  
在一些統(tǒng)計(jì)報(bào)表中,常常會(huì)用到將行結(jié)果用列形式展現(xiàn)。我們這里用一個(gè)常見(jiàn)的學(xué)生各門(mén)課程的成績(jī)報(bào)表,來(lái)實(shí)際展示實(shí)現(xiàn)方法。
我們用到的表結(jié)構(gòu)如下:

stu

sub

score

三張表的關(guān)系為:

r.pg

現(xiàn)有的測(cè)試數(shù)據(jù)為:

s

ss

t

我們需要的結(jié)果是:

r

復(fù)制代碼 代碼如下:

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 中,已經(jīng)有實(shí)現(xiàn)此功能的內(nèi)置方法了。

相關(guān)文章

最新評(píng)論