我有保持基于三类学生的成绩表。有五个等级(A,B,C,d,e)每一类别,所以表看起来是这样的:SQL多重数查询
id | cat1 | cat2 | cat3
1 A B A
2 D C D
3 B A E
4 C B D
等
我有一个列出的成绩第二个表
grade
A
B
C
D
E
我需要能够对这些数据运行一个查询,这样我可以计算每种类别中,每个等级达到等级的数量。事情是这样的:
Cat1 | Cat2 | Cat 3
A 1 1 1
B 1 2 0
C 1 1 0
D 1 0 2
E 0 0 1
我已经跑下面的查询,我知道是不正确的,但产生接近结果预计:
SELECT g.grade, COUNT(mb.cat1) , COUNT(mb.cat2) , COUNT(mb.cat3)
FROM markbook mb, grades g
WHERE g.grade = mb.cat1
GROUP BY g.grade
优秀 - 这似乎工作。谢谢! – amburnside 2013-03-27 16:13:02
@amburnside:不客气。 – 2013-03-27 16:13:27