stuname | stuclass | stucore |
张三 | 语文 | 74 |
张三 | 数学 | 83 |
张三 | 物理 | 93 |
李四 | 语文 | 74 |
李四 | 数学 | 84 |
李四 | 物理 | 94 |
表结构和数据由上表
DECLARE @sql varchar(2000)
SELECT @sql=isnull(@sql+',','') + stuclass + '=sum(CASE WHEN stuclass='''+stuclass+''' THEN stuCore END)'
FROM (SELECT DISTINCT stuclass FROM tb) AS t
PRINT @sql
EXEC('SELECT stuName,'+@sql+' FROM tb GROUP BY stuName')
结果:
stuname | 语文 | 数学 | 物理 |
张三 | 84 | 94 | 74 |
李四 | 83 | 93 | 74 |