【发布时间】:2022-07-07 03:03:39
【问题描述】:
我有桌子Teacher。它包含与表Student 的多对多关系。学生包含唯一列 name。如何找到所有包含特定姓名学生的教师?
例如:
Teacher1 包含名为“Bob”的 Student1 和名为“Alice”的 Student2。
Teacher2 包含名为“Alice”的 Student2 和名为“Mark”的 Student3。
Teacher3 包含名为“Bob”的 Student1。
Teacher4 包含名为“Mark”的 Student3。
我得到了名字["Alice", "Mark"]。
在这个例子中,我必须得到教师 1、2、4。
如何编写这个 sqlalchemy 查询?session.query(Teacher).filter(...).all()?
【问题讨论】:
-
在 SQL 中,您可以 LEFT JOIN 学生表(过滤您想要的学生)到教师表,然后 COUNT() 为教师空值?
标签: python sql sqlalchemy many-to-many