Я создал следующий запрос, но когда я запустил его, я получил синтаксическую ошибку в предложении GROUP BY, но когда я удаляю его, PostgreSQL дает мне ошибку, которую мне нужно добавить t.bsn в предложение GROUP BY. Как я могу исправить эту ошибку?Почему я получаю синтаксическую ошибку в группе?
SELECT t.bsn
FROM teachers t, designes d, students s, course c, teaches lg
WHERE c.course_follower = s.class AND t.bsn = lg.bsn AND d.course_code = c.course_code AND d.bsn = t.bsn AND s.class = lg.class
HAVING t.salary = (2000 + (t.scale * 200) + ((t.scale - 10) * 300) + (100 * (COUNT(d.course_code) * (1.0 + (0.1 * COUNT(s.student_id)))) + (50 * c.amount_of_assignments)))
GROUP BY t.bsn;
'GROUP BY' предшествует' HAVING'. Но есть и другие большие проблемы с вашим запросом. Вы создаете декартово произведение этих четырех таблиц. Как правило, запятые должны * никогда не быть в разделе 'FROM' (практика, которая устарела для ** 25 лет ** сейчас). Вместо этого используйте явный синтаксис 'JOIN'. – Siyual