请问怎么从 A 表查出 B 表?

2018-07-09 13:46:27 +08:00
 chunjie
A 表:
name subject score
张三 语文 80
张三 数学 92
张三 英语 95
李四 语文 78
李四 数学 85
李四 英语 93
B 表:
name 语文 数学 英语
张三 80 92 95
李四 78 85 93
1520 次点击
所在节点    问与答
9 条回复
liprais
2018-07-09 13:51:40 +08:00
作业自己做
PerFectTime
2018-07-09 13:52:50 +08:00
请自行完成作业
hinate
2018-07-09 13:57:40 +08:00
列传行,请自行搜索。
chunjie
2018-07-09 15:01:28 +08:00
已经知道思路了,谢谢各位
daydaydayup
2018-07-09 16:18:38 +08:00
select b.* from a,b where a.name=b.name
real3cho
2018-07-09 17:01:04 +08:00
贴吧已经满足不了学生党了?都问到 V 站来了
laolinn
2018-07-09 17:11:36 +08:00
五楼正解
joeyFuck
2018-07-10 15:12:24 +08:00
select name ,
MAX(CASE WHEN subject ='语文' THEN score ELSE 0 END) as '语文',
MAX(CASE WHEN subject ='数学' THEN score ELSE 0 END) as '数学',
...
from A
group by name
chunjie
2018-07-18 16:30:16 +08:00
select name, max(case subject when '语文' then score else 0 end) 语文, max(case subject when '数学' then score else 0 end) 数学, max(case subject when '英语' then score else 0 end) 英语 from a group by name;
mysql 列传行,我已经找到答案了,谢谢大家。
ps:这不是作业,是小弟近来面试碰到的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/469260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX