我在等风也等你 回复 用户kCCpJ0269548(提问者)行转列是吧,用case when。select case when 字段 = 黄埔 then 需要一列的字段 end as 什么什么 ,case when 字段 = 三里 then 需要一列的字段 end as 什么什么 from 表名,一个case就是一列
我在等风也等你 回复 用户kCCpJ0269548(提问者)哈哈,行转列用case when是最简单的写法,也可以用with每个字段写一段sql ,然后最下面用select,然后left join关联,写法三四种。
SELECT
UserName,
MAX(CASE Subject WHEN \'语文\' THEN Score ELSE 0 END) AS \'语文\',
MAX(CASE Subject WHEN \'数学\' THEN Score ELSE 0 END) AS \'数学\',
MAX(CASE Subject WHEN \'英语\' THEN Score ELSE 0 END) AS \'英语\',
MAX(CASE Subject WHEN \'生物\' THEN Score ELSE 0 END) AS \'生物\'
FROM dbo.[StudentScores]
GROUP BY UserName
还可以试试这种。