我知道这是基本知识,但我发现这很棘手,无法正确表达问题以找到答案。
我想做的就是拿这些桌子-
Table names
name | nameID |
-----------------
Jhon | 1
Bob | 2
George | 3
Kim | 4
Table mark
nameID | child
--------------
1 | 0
1 | 0
1 | 1
2 | 1
2 | 0
2 | 1
3 | 0
3 | 0
4 | 1
4 | 1
4 | 1
4 | 0
然后计算表名称中每个名称出现在带有child = 1的表标记中的次数,因此您将获得:
name | count
--------------
Jhon | 1
Bob | 2
Kim | 3
最佳答案
尝试这个。
select n.name, count(*)
from names n, mark m
where n.nameID = m.nameID and m.child = '1'
group by n.name