Mysql
 sql >> Database >  >> RDS >> Mysql

Count() e problema di join sinistro

È necessario SHOP sul lato SINISTRO, poiché il lato destro è quello che potrebbe non avere dati, in questo caso PRODOTTO.

Non solo, è necessaria la condizione WHERE come condizione LEFT-JOIN ON, in modo che si unisca ai prodotti nella condizione di stato e sconti solo il prodotto (mantenendo il negozio) anche se lo stato non è desiderato.

select s.name
       , p.name
       , count(p.id) 
from   Shop as s
       left join Product as p on p.shop=s.id AND p.status <> '8796107276379'
group by 
       s.id, p.name