Sử dụng LEFT JOIN
thay vì INNER JOIN
:
SELECT c.id, c.name, c.unit, COUNT(p.category_id) as active_count
FROM `categories` c
LEFT JOIN `products` p
ON c.id = p.category_id AND p.is_active = 1
GROUP BY c.id;
Điều quan trọng nữa là di chuyển vị từ p.is_active = 1
từ WHERE
mệnh đề ON
, để tất cả bản ghi của categories
bảng được trả về bởi truy vấn.