我刚刚陷入了一些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_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个约会的人的返回!
有什么建议吗?