Saya baru saja mendapatkan diri saya sedikit terjebak dengan beberapa SQL. Saya rasa saya tidak bisa mengungkapkan pertanyaan itu dengan cemerlang - jadi saya tunjukkan.
Saya memiliki dua meja, satu disebut orang, satu disebut janji temu. Saya mencoba mengembalikan jumlah janji temu yang dimiliki seseorang (termasuk jika mereka nol). Perjanjian berisi person_id
dan ada person_id
perjanjian per. Begitu COUNT(person_id)
pula pendekatan yang masuk akal.
Kueri:
SELECT person_id, COUNT(person_id) AS "number_of_appointments"
FROM appointment
GROUP BY person_id;
Akan kembali dengan benar, jumlah janji temu yang dimiliki person_id. Namun, orang yang memiliki 0 janji temu tidak dikembalikan (jelas karena mereka tidak ada di tabel itu).
Mengubah pernyataan untuk mengambil person_id dari tabel person memberi saya sesuatu seperti:
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;
Namun, ini tetap hanya akan mengembalikan person_id yang memiliki janji dan bukan yang saya inginkan yang merupakan pengembalian dengan orang yang memiliki 0 janji!
Ada saran, tolong?