标题可能具有误导性,因为我似乎找不到合适的标题。但它就在这里。
我有三张桌子。
Students
student_id | name
1 Rhon
Subjects
subject_id | subject_name | student_id
1 Physics 1
2 Math 1
Grades
grade_id | student_id | subject_id | grade
1 1 1 90
2 1 2 89
3 1 2 88
我希望结果是这样的:
student_id | student_name | subject_name | grades
1 Rhon Physics 90
1 Rhon Math 88,89
我目前的查询是:
SELECT students.student_id, subjects.subject_id, string_agg(grades.grade, ',')
FROM students
JOIN subjects ON students.student_id = subjects.student_id
JOIN grades ON subjects.subject_id = grades.subject_id;
我的查询有问题吗?我错过了什么吗?错误说student_id
需要在 GROUP BY 子句中,但我不希望这样。先谢谢了。