【发布时间】:2019-03-20 10:55:44
【问题描述】:
对于一项任务,我正在使用一组涉及学区的 postgreSQL 数据库。我正在尝试填充新字段 student_gpas,这是一个存储唯一学生 gpa 的数组。我已经在 python 中使用 sqlalchemy 完成了此操作,代码如下:
schools = db.session.query(School).filter(school.is_selected == true).all()
For sch in schools:
grades = db.session.query(Grade).filter(grade.school_id == sch.id).all()
For gr in grades:
classes = db.session.query(Class).filter(class.grade_id == grades.id).all()
For cl in classes:
students = db.session.query(Student).filter(student.class_id == cl.id).all()
For st in students:
If st.gpa not in gr.student_gpas:
gr.student_gpas.append(st.gpa)
如果我想把这段代码 sn-p 转换成一个长而复杂的 SQL 语句会是什么样子
【问题讨论】:
-
这不会是一个非常复杂的 sql 查询,只是一个涉及 4 个表、连接和 where 子句的沼泽标准查询,加上一些稍微复杂的工作来将值连接到一个分隔列表中。请发布这些数据和一些示例数据的数据库架构。
标签: python sql database postgresql sqlalchemy