就不说了,直接上例子
a表
id xue fens kem
1 1 20 语文
2 1 30 数学
3 2 40 语文
4 2 60 数学
5 3 20 语文
b表
bid xinm
1 老吴
3 老王
2 小王
查询
select b.xinm as 姓名,max(case a.kem when '语文' then a.fens else null end) '语文',
max(case a.kem when '数学' then a.fens else null end) '数学'
from a
LEFT JOIN b on b.bid = a.xue
group by b.xinm
结果
姓名 语文 数学
小王 40 60
老吴 20 30
老王 20