Mysql
 sql >> Base de données >  >> RDS >> Mysql

Compter avec LEFT JOIN affiche une seule ligne

Vous avez besoin d'un GROUP BY dans votre requête externe, sinon la requête compte simplement le statut de toutes les banques. Vous pouvez également simplifier votre requête en utilisant simplement LEFT JOIN ing les deux tables sur code/id et status =0

SELECT b.type `scu_banks.type`,
b.name `scu_banks.name`,
COUNT(s.status) `status`,
b.id `scu_banks.id`
FROM scu_banks b
LEFT JOIN scu_statement s ON s.code = b.id AND s.status = 0
GROUP BY b.id, b.name, b.type

Sortie

scu_banks.type  scu_banks.name  status  scu_banks.id
1               One             2       1
1               Two             1       2
2               Three           0       3
3               Four            0       4

Démo sur dbfiddle