Я только что немного застрял с некоторым 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 встреч!
Любые предложения, пожалуйста?