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

Bagaimana cara mendapatkan data dari 4 tabel dalam 1 kueri sql?

Dengan kueri ini Anda mendapatkan apa yang Anda inginkan:

select co.title as course,
       ca.name as category,
       t.name as tutor,
       count(s.*) as total_subscribers
from courses co
inner join course_categories cc on c.id = cc.course_id
inner join categories ca on cc.category_id = ca.id
inner join tutors t on co.tutor_id = t.tutor_id
left join subscribers s on co.id = s.course_id
where co.title = 'Cat1'
group by co.title, ca.name, t.name

Saya menggunakan left join di subscribers karena mungkin tidak ada seorang pun untuk course yang diberikan . Saya berasumsi bahwa semua tabel lain memiliki data untuk setiap course , categorie dan tutor . Jika tidak, Anda dapat menggunakan left join juga tetapi kemudian Anda akan memiliki data dengan null.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan daftar database MySQL, dan versi server?

  2. Fungsi mysql untuk mengubah nilai non-null

  3. Konversi kolom dengan Nama Bulan dan Tahun ke bilangan bulat dengan format YYYYMM di MySQL

  4. Tidak dapat menjatuhkan tabel MySQL karena batasan kunci asing

  5. MySQL - mengecualikan semua pengguna yang diblokir dari hasil