DECLARE @sql VARCHAR(8000)
DECLARE @sql2 VARCHAR(8000)
SET @sql2 = ''
SET @sql = 'select 班级'
SELECT @sql = @sql + ',isnull (max(case 学生 when ''' + 学生 + ''' then 成绩 end),0) as [' + 学生 + ']'
FROM ( SELECT DISTINCT
学生
FROM 成绩表
) AS a
SELECT @sql2 = @sql2 + ' isnull (max(case 学生 when ''' + 学生 + ''' then 成绩 end),0) +'
FROM ( SELECT DISTINCT
学生
FROM 成绩表
) AS a
SET @sql2 = SUBSTRING(@sql2, 0, LEN(@sql2) - 1)
SELECT @sql
SELECT @sql2
SELECT @sql = @sql + ',' + @sql2 + 'as ''qty'' from 成绩表 by 班级'
SELECT @sql
EXEC(@sql)
DECLARE @sql2 VARCHAR(8000)
SET @sql2 = ''
SET @sql = 'select 班级'
SELECT @sql = @sql + ',isnull (max(case 学生 when ''' + 学生 + ''' then 成绩 end),0) as [' + 学生 + ']'
FROM ( SELECT DISTINCT
学生
FROM 成绩表
) AS a
SELECT @sql2 = @sql2 + ' isnull (max(case 学生 when ''' + 学生 + ''' then 成绩 end),0) +'
FROM ( SELECT DISTINCT
学生
FROM 成绩表
) AS a
SET @sql2 = SUBSTRING(@sql2, 0, LEN(@sql2) - 1)
SELECT @sql
SELECT @sql2
SELECT @sql = @sql + ',' + @sql2 + 'as ''qty'' from 成绩表 by 班级'
SELECT @sql
EXEC(@sql)