[英]how to get count from joining two tables in SQL
经理的数量不正确,如何更正?
select BATS.MANAGER,
count(BATS.MANAGER)
from BATS
join BATS_HIERARCHY
on BATS.MANAGER_EMAIL = BATS_HIERARCHY.MANAGER_EMAIL
GROUP BY MANAGER
如果经理的电子邮件在两个表中,尝试计算经理出现的次数
如果我不得不猜测,请按照评论说:提供更多信息,我会说您在 BATS_HIERARCHY 上的关节 BATS 不是 1 比 1。
也许有些经理有多封电子邮件或没有。 这将解释您的“不正确”结果。 尝试FULL join
或count(distinct bats.manager)
并查看结果是否有任何不同
因此,如果电子邮件存在于两个表中,则经理出现在 BATS 表中的次数:
SELECT
BATS.MANAGER, COUNT(BATS.MANAGER)
FROM
BATS
WHERE
EXISTS (SELECT 1 FROM BATS_HIERARCHY WHERE BATS.MANAGER_EMAIL = BATS_HIERARCHY.MANAGER_EMAIL)
GROUP BY BATS.MANAGER;
这可能会做到,但我还没有测试过。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.