sql >> Database teknologi >  >> RDS >> Mysql

Hvordan får man data fra 4 tabeller i 1 sql-forespørgsel?

Med denne forespørgsel får du, hvad du ønsker:

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

Jeg brugte left joinsubscribers fordi der måske ikke er nogen til et givet course . Jeg går ud fra, at alle de andre tabeller har data for hvert course , categorie og tutor . Hvis ikke, kan du bruge left join også, men så har du data med null.



  1. Forstå SQLalchemys `yield_per()`-problemer bedre

  2. Kopier data til ny tabel i MySQL

  3. Opdater felt, når ikke null

  4. Hent store clob-data ved hjælp af sqlplus