就不说了,直接上例子
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