Sql 서버 2000 줄 전환 열 구현(가로)

3262 단어 Sqlserver행 열
우리 가 사용 하 는 표 구 조 는 다음 과 같다.
stu
sub
score
세 장의 표 의 관 계 는 다음 과 같다.
r.pg
기 존 테스트 데 이 터 는:
s
ss
t
우리 가 필요 로 하 는 결 과 는:
r

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 에는 이미 이 기능 을 실현 하 는 내장 방법 이 있다.

좋은 웹페이지 즐겨찾기