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

gabungkan dua tabel bersama dengan jumlah catatan dari tabel kedua berdasarkan kondisi

Gunakan LEFT JOIN bukannya INNER JOIN :

SELECT c.id, c.name, c.unit, COUNT(p.category_id) as active_count 
FROM `categories` c 
LEFT JOIN `products` p
    ON c.id = p.category_id AND p.is_active = 1 
GROUP BY c.id;

Penting juga untuk memindahkan predikat p.is_active = 1 dari WHERE klausa ke ON , sehingga semua catatan categories tabel dikembalikan oleh kueri.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mematikan validasi kata sandi mysql?

  2. #1062 - Entri duplikat '' untuk kunci 'unique_id' Saat Mencoba menambahkan KUNCI UNIK (MySQL)

  3. Koneksi Pendaftaran Facebook

  4. Menghubungkan ke DB Mysql dengan C# - Perlu beberapa dengan Kumpulan Data

  5. bagaimana cara menjatuhkan partisi tanpa menjatuhkan data di MySQL?