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

Il conteggio con LEFT JOIN mostra solo una riga

Hai bisogno di un GROUP BY nella tua query esterna, altrimenti la query conta semplicemente lo stato per tutte le banche. Puoi anche semplificare la tua richiesta semplicemente LEFT JOIN ing le due tabelle su code/id e 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

Uscita

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

Demo su dbfiddle