left join
が必要だと思います inner join
の代わりに 一致するc
がない場合に、欠落している行ではなく0のカウントを返したいためです。 特定のb
のレコード 記録。
また、group by
を含める必要があります 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