У меня есть запрос.
SELECT
sa.start_time,
`Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`
FROM (
SELECT ders_saat,
(CASE WHEN days= 1 THEN d.lesson_name ELSE 0 END) AS `Monday`,
(CASE WHEN days= 2 THEN d.lesson_name ELSE 0 END) AS `Tuesday`,
(CASE WHEN days= 3 THEN d.lesson_name ELSE 0 END) AS `Wednesday`,
(CASE WHEN days= 4 THEN d.lesson_name ELSE 0 END) AS `Thursday`,
(CASE WHEN days= 5 THEN d.lesson_name ELSE 0 END) AS `Friday`
FROM ders_programi
inner join lessons d on d.id = lesson_id
) AS sums
left join hours sa on sa.start_time = sums.ders_saat
Результат: 5 строк
start_time Monday Tuesday Wednesday Thursday Friday
08:00:00 Math 0 0 0 0
08:50:00 null null null null null
09:40:00 Math 0 0 0 0
10:30:00 Prog 0 0 0 0
10:30:00 0 Geo 0 0 0
Результат, который я хочу: 4 строки
start_time Monday Tuesday Wednesday Thursday Friday
08:00:00 Math 0 0 0 0
08:50:00 null null null null null
09:40:00 Math 0 0 0 0
10:30:00 Prog Geo 0 0 0
Как мне это сделать?этот?Я пробовал group by start_time
и concat
, но это не сработало.
Я использовал возврат по группам по 4 рядам.Но последний ряд: 10:30:00 Prog 0 0 0 0