sql >> Database >  >> RDS >> Mysql

MySQL - Selecteer met COUNT als resultaat een NULL-rij

Ik denk dat je een left join wilt hebben in plaats van een inner join aangezien u een telling van 0 wilt retourneren in plaats van een ontbrekende rij wanneer er geen overeenkomende c is opnemen voor een gegeven b opnemen.

U moet ook een group by . opnemen bij gebruik van een aggregatiefunctie, zoals 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


  1. nvarchar aaneenschakeling / index / nvarchar (max) onverklaarbaar gedrag

  2. Ionisch raamwerk en php mysql

  3. Hoe sla ik bestellingen op?

  4. group_concat resultaat werkt niet in IN voorwaarde