Saya pikir Anda ingin left join
alih-alih inner join
karena Anda ingin mengembalikan hitungan 0 alih-alih baris yang hilang ketika tidak ada c
. yang cocok merekam untuk b
. yang diberikan merekam.
Selain itu, Anda harus menyertakan group by
saat menggunakan fungsi agregat, seperti count
.
SELECT
b.b_id,
COUNT(DISTINCT c.c_id) AS count
FROM
b
LEFT JOIN c
ON b.b_id=c.b_id
AND c.active='yes'
WHERE b.featured='no'
GROUP BY b.b_id