Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hitung dengan LEFT JOIN hanya menunjukkan satu baris

Anda memerlukan GROUP BY di kueri luar Anda, jika tidak, kueri hanya menghitung status untuk semua bank. Anda juga dapat menyederhanakan kueri hanya dengan LEFT JOIN ing dua tabel pada kode/id dan 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

Keluaran

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 di dbfiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemeriksaan Kesalahan untuk Pernyataan yang Disiapkan PDO

  2. Perintah tidak sinkron; Anda tidak dapat menjalankan perintah ini sekarang

  3. Benar/Salah vs 0/1 di MySQL

  4. menyalin ke tabel temp membutuhkan waktu lama

  5. Ketika mysql_query mengembalikan false