Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Count()- und Left-Join-Problem

Sie benötigen SHOP auf der LINKEN Seite, da die rechte Seite möglicherweise keine Daten enthält, in diesem Fall PRODUCT.

Darüber hinaus benötigen Sie die WHERE-Bedingung als LEFT-JOIN-ON-Bedingung, damit sie mit Produkten der Statusbedingung verknüpft wird und das Produkt nur rabattiert (während der Shop beibehalten wird), auch wenn der Status nicht erwünscht ist.

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