我刚刚让自己有点被一些 SQL 卡住了。我认为我不能巧妙地表达这个问题 - 所以让我告诉你。
我有两张桌子,一张叫人,一张叫约会。我正在尝试返回一个人的约会次数(包括他们是否为零)。约会包含并且每个约会person_id
都有一个。明智的做法也是person_id
如此。COUNT(person_id)
查询:
SELECT person_id, COUNT(person_id) AS "number_of_appointments"
FROM appointment
GROUP BY person_id;
将正确返回 person_id 的约会次数。但是,不会返回具有 0 个约会的人(显然因为他们不在该表中)。
调整语句以从 person 表中获取 person_id 给了我类似的东西:
SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments"
FROM appointment
JOIN person ON person.person_id = appointment.person_id
GROUP BY person.person_id;
然而,这仍然只会返回一个有约会的 person_id,而不是我想要的返回一个有 0 个约会的人!
请问有什么建议吗?