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;
'GROUP BY'はHAVING''の前に来ます。しかし、あなたの質問には他にも大きな問題があります。これら4つのテーブルのデカルト積を作成しています。経験則として、コンマは 'FROM'節には決して*置かれてはなりません(これは**現在25年**の間廃止されています)。代わりに明示的な 'JOIN'構文を使用してください。 – Siyual