Autor, Název akce Databázové systémy a SQL Lekce 10 Daniel Klimeš, Monika Kratochvílová Autor, Název akce Řešení soutěžního úkolu •Zobrazte seznam studií a do sloupečků ke každé studii vždy počet žen, počet mužů a počet subjektů bez definované pohlaví. • Daniel Klimeš, Databázové systémy a SQL SELECT TAB1.*, TAB2.pocet_zen, TAB3.pocet_muzu, TAB4.pocet_neznamo FROM (SELECT * FROM studies) TAB1 LEFT JOIN (SELECT s.study_id ,COUNT(*) pocet_zen FROM patient_study s JOIN patients p ON p.patient_id = s.patient_id WHERE p.sex = 'F' GROUP BY s.study_id) TAB2 ON TAB1.STUDY_ID=TAB2.STUDY_ID LEFT JOIN (SELECT s.study_id ,COUNT(*) pocet_muzu FROM patient_study s JOIN patients p ON p.patient_id = s.patient_id WHERE p.sex = 'M' GROUP BY s.study_id) TAB3 ON TAB2.STUDY_ID=TAB3.STUDY_ID LEFT JOIN (SELECT s.study_id ,COUNT(*) pocet_neznamo FROM patient_study s JOIN patients p ON p.patient_id = s.patient_id WHERE p.sex <> 'F' AND p.sex <> 'M' GROUP BY s.study_id) TAB4 ON TAB3.STUDY_ID=TAB4.STUDY_ID ORDER BY TAB1.STUDY_NAME; Autor, Název akce Řešení soutěžního úkolu •Zobrazte seznam studií a do sloupečků ke každé studii vždy počet žen, počet mužů a počet subjektů bez definované pohlaví. • Daniel Klimeš, Databázové systémy a SQL SELECT ps.study_id, COUNT (CASE WHEN sex = 'M' THEN 1 END) muzi, COUNT (CASE WHEN sex = 'F' THEN 1 END) zeny, COUNT (CASE WHEN sex = 'X' THEN 1 END) nezname FROM patient_study ps JOIN patients p ON p.patient_id = ps.patient_id GROUP BY ps.study_id ORDER BY ps.study_id;