【发布时间】:2017-04-06 18:30:17
【问题描述】:
我有桌子 T1
ID RESOLVER RESOLVEDBY
1 A GROUP1
2 A GROUP1
3 A GROUP1
4 B GROUP1
5 B GROUP1
我还有 T2 桌
GROUPID GROUP PERSON
1 GROUP1 A
2 GROUP1 B
3 GROUP1 C
我做了这个 SQL 查询,它返回每个人解析了多少条记录
select resolver,count(*) from T1
where resolvedby='GROUP1'
group by resolver
并且返回正确
A 3
B 2
但是,我还想检索属于该组的所有人员的此统计信息,因此对于用户 C,我希望值为 0。 所以最终的结果应该是
A 3
B 2
C 0
【问题讨论】:
-
right outer join. -
您的结果与您的数据不匹配。你似乎加入了
resolver=person。 -
抱歉,我更正并编辑了我如何返回当前结果的声明。但仍然是如何检索所需结果的问题
-
你在两个表中都有组,因为它们构成了自然键(即一个人的名字可以出现多次,但每个组只能出现一次),对吗?
-
是的,每组一次,但如果该人也是另一个组的成员,则可以多次显示人名