sql >> Databasteknik >  >> RDS >> Mysql

Count() och vänsteranslutningsproblem

Du behöver SHOP på VÄNSTER sida, eftersom den högra sidan är den som kanske inte har data, i det här fallet PRODUKT.

Inte bara det, du behöver WHERE-villkoret som ett LEFT-JOIN ON-villkor, så att det ansluter till produkter med statusvillkoret och bara ger rabatt på produkten (medan du håller butiken) även om statusen inte önskas.

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


  1. Hur man undslipper sträng medan man matchar mönster i PostgreSQL

  2. Använda DateTime i en SqlParameter för lagrad procedur, formatfel

  3. När ska jag använda ett sammansatt index?

  4. Python MySQL escape specialtecken