Я щойно трохи застряг у SQL. Я не думаю, що я можу сформулювати це питання блискуче - тому дозвольте вам показати.
У мене дві таблиці, одна називається людина, одна називається зустріч. Я намагаюся повернути кількість зустрічей у людини (в тому числі, якщо вони мають нуль). Зустріч містить person_id
та є person_id
зустріч на кожну зустріч. Це COUNT(person_id)
розумний підхід.
Запит:
SELECT person_id, COUNT(person_id) AS "number_of_appointments"
FROM appointment
GROUP BY 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;
Це, однак, все одно поверне лише особу, яка має зустріч, а не те, що я хочу, а це повернення з особами, які мають 0 зустрічей!
Будь-які пропозиції, будь ласка?