我只是有点被一些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表中获取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;
但是,谁有约会,谁还有约会?谁没有约会,谁没有约会,谁没有约会!
有什么建议吗?