таблицы course?
/*
set unpositioned hours in course table based on timetable table
*/
set @semester = 'Guz', @educationalYear = '2021-2022';
WITH courses as (
SELECT id, theory_hours th, practice_hours ph FROM course WHERE semester = @semester and active = 1 and user_id != 12
),
timetablesTheory as (
SELECT t.course_id, COUNT(t.course_id) pth FROM time_table t WHERE lesson_type_id = 1 and semester = @semester and educational_year = @educationalYear
GROUP BY t.course_id
),
timetablesPractice as (
SELECT t.course_id, COUNT(t.course_id) pph FROM time_table t WHERE lesson_type_id = 2 and semester = @semester and educational_year = @educationalYear
GROUP BY t.course_id
),
timetables as (
SELECT tt.course_id, tt.pth, tp.pph FROM timetablesTheory tt
LEFT JOIN timetablesPractice tp ON tt.course_id = tp.course_id
UNION
SELECT tp.course_id, tt.pth, tp.pph FROM timetablesTheory tt
RIGHT JOIN timetablesPractice tp ON tt.course_id = tp.course_id
),
unpositionedHours as (
SELECT c.id course_id, IFNULL(c.th - t.pth, c.th) uth, ifnull(c.ph - t.pph, c.ph) uph FROM courses c
LEFT JOIN timetables t ON t.course_id = c.id
)
UPDATE course c, unpositionedHours uh set c.unpositioned_theory_hours = uh.uth, c.unpositioned_practice_hours = uh.uph
where c.id = uh.course_id
я пробовал через джоин, тоже не работало эти запросы взяты из стэковерфлоу
Ну, и что предлагаешь?
а не именно этот запрос я взял с оф доки мускула, странно то что он не работает
ничего, не понимаю почему оф дока врёт
Обсуждают сегодня