Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Contar com LEFT JOIN mostra apenas uma linha


Você precisa de um GROUP BY em sua consulta externa, caso contrário, a consulta simplesmente conta o status de todos os bancos. Você também pode simplificar sua consulta apenas LEFT JOIN ndo as duas tabelas em 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

Resultado
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

Demonstração no dbfiddle