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