Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION compare_lessons(d_week DATE, teacher VARCHAR)
- returns VARCHAR AS $$
- DECLARE
- lesson1 VARCHAR(100);
- lesson2 VARCHAR(100);
- lesson3 VARCHAR(100);
- lesson4 VARCHAR(100);
- lesson5 VARCHAR(100);
- lesson6 VARCHAR(100);
- BEGIN
- SELECT c.name INTO lesson1 FROM coprs c, audiences a, sheldule h, teachers t
- WHERE c.id = a.corp_id
- AND a.id = h.audience_id
- AND t.id = h.teacher_id
- AND t.name = teacher
- AND h.day_week = d_week
- AND h.lesson_id = '1';
- SELECT c.name INTO lesson2 FROM coprs c, audiences a, sheldule h, teachers t
- WHERE c.id = a.corp_id
- AND a.id = h.audience_id
- AND t.id = h.teacher_id
- AND t.name = teacher
- AND h.day_week = d_week
- AND h.lesson_id = '2';
- SELECT c.name INTO lesson3 FROM coprs c, audiences a, sheldule h, teachers t
- WHERE c.id = a.corp_id
- AND a.id = h.audience_id
- AND t.id = h.teacher_id
- AND t.name = teacher
- AND h.day_week = d_week
- AND h.lesson_id = '3';
- SELECT c.name INTO lesson1 FROM coprs c, audiences a, sheldule h, teachers t
- WHERE c.id = a.corp_id
- AND a.id = h.audience_id
- AND t.id = h.teacher_id
- AND t.name = teacher
- AND h.day_week = d_week
- AND h.lesson_id = '4';
- SELECT c.name INTO lesson5 FROM coprs c, audiences a, sheldule h, teachers t
- WHERE c.id = a.corp_id
- AND a.id = h.audience_id
- AND t.id = h.teacher_id
- AND t.name = teacher
- AND h.day_week = d_week
- AND h.lesson_id = '5';
- SELECT c.name INTO lesson1 FROM coprs c, audiences a, sheldule h, teachers t
- WHERE c.id = a.corp_id
- AND a.id = h.audience_id
- AND t.id = h.teacher_id
- AND t.name = teacher
- AND h.day_week = d_week
- AND h.lesson_id = '6';
- IF(lesson1 != lesson2)OR(lesson2 != lesson3)OR(lesson3 != lesson4)OR(lesson4 != lesson5)OR(lesson5 != lesson6)
- THEN
- RETURN teacher;
- ELSE
- RETURN 'none';
- END IF;
- END;
- $$ LANGUAGE plpgsql;
- SELECT DISTINCT compare_lessons(h.day_date, t.name) FROM sheldule h, teachers t, audiences a, corps c
- WHERE t.id = h.teacher_id
- AND c.id = a.corp_id
- AND a.id = h.audience_id
- AND h.day_date BETWEEN TO_DATE('2022-01-07','YYYY-MM-DD') AND TO_DATE('2022-07-01','YYYY-MM-DD')
- AND compare_lessons(h.day_date, t.name) != 'none';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement