我想从拥有1个以上用户的所有企业中获取客户数据。
为此,我认为我需要一个子查询来统计1个以上的用户,然后需要一个外部查询来给我他们的电子邮件。
我在WHERE和HAVING子句中尝试过子查询
SELECT u.mail
FROM users u
WHERE count IN (
SELECT count (u.id_business)
FROM businesses b
INNER JOIN users u ON b.id = u.id_business
GROUP BY b.id, u.id_business
HAVING COUNT (u.id_business) >= 2
)
答案 0 :(得分:0)
我相信您不需要子查询,所有事情都可以在带有HAVING
子句的联合聚合查询中实现,例如:
SELECT u.mail
FROM users u
INNER JOIN businesses b on b.id = u.id_business
GROUP BY u.id, u.email
HAVING COUNT (*) >= 2
注意:如果有几个用户可能使用同一封电子邮件,我将users
的主键添加到了GROUP BY
子句中(我假设pk被称为id
):如果email
是users
中的唯一字段,则可以将其删除。