Я пытаюсь создать запрос для системы отслеживания приложений размещения - показывая количество студентов, размещенных и не размещенных по программе. В настоящее время запрос возвращает номер каждой программы размещенных студентов в одном ряду, неразмещенном в другом:Возврат размещенных и незанятых студентов в SQL-запросе
PROGRAMME_NAME | LABEL | VALUE
BSc (Hons) Computer Science | Placed | 2
BSc (Hons) Computing and Games Development | Unplaced | 1
BSc (Hons) Web Applications Development | Unplaced | 1
BSc (Hons) Marine Biology and Coastal Ecology | Placed | 1
BSc (Hons) Computer Science | Unplaced | 2
Однако, я хотел бы, чтобы выводить запрос следующим образом:
PROGRAMME_NAME | PLACED | UNPLACED
BSc (Hons) Computer Science | 2 | 2
BSc (Hons) Computing and Games Development | 1 | 0
BSc (Hons) Web Applications Development | 0 | 1
BSc (Hons) Marine Biology and Coastal Ecology | 1 | 0
Это мой запрос:
SELECT programme_name,
CASE
WHEN cv_approval_date IS NOT NULL
AND application_status_id != 7
OR application_status_id IS NULL
THEN 'Unplaced'
ELSE 'Placed'
END AS label,
COUNT(*) AS value
FROM programme
LEFT JOIN student USING (programme_id)
LEFT JOIN application USING (student_id)
GROUP BY programme_name,
CASE
WHEN cv_approval_date IS NOT NULL
AND application_status_id != 7
OR application_status_id IS NULL
THEN 'Unplaced'
ELSE 'Placed'
END;
Как я могу это сделать? Любая помощь будет принята с благодарностью!
Фантастические новости! Спасибо за вашу помощь. –