0
我已经创建了下面的查询,但是当我运行它时,我在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;
'集团BY'到来之前'HAVING'。但是,查询还存在其他大问题。您正在创建这四张表的笛卡尔积。作为一个经验法则,逗号应该永远不会被放在'FROM'子句中(这种做法现在已被弃用** 25年**)。改用显式的'JOIN'语法。 – Siyual