gpt4 book ai didi

python - 如何在 sqlalchemy 中连接两个关于公共(public)关系的查询?

转载 作者:行者123 更新时间:2023-12-01 05:53:10 25 4
gpt4 key购买 nike

假设我有两个类 ChildAChildB,它们都与 Parent 有关系。还假设我已经定义了两个查询,qaqb,它们查询各自的子类。我想在具有相同的 parent 时将 qb 加入到 qa 中。

如果 parent 只是一个普通的列,我可以执行以下操作:

subquery = qb.subquery()
joined_query = qa.join(subquery, AliasedChildA.parent==subquery.columns.parent)

此处,AliasedChildAChildA 的别名。 (我可以完全控制查询的创建方式,但不能控制稍后应用于它们的过滤器。)但现在,由于 parent 是一种关系,因此它不包含在 subquery.columns 中。

在拥有相同的父级时,如何加入qaqb

最佳答案

尝试以下操作:

qa = session.query(ChildA)
qb = session.query(ChildB)
# @note: *qa* and *qb* may include other filters etc,
# but assuming they do not contain joins on *Parent*
subquery = qb.subquery()
qry = qa.join(Parent).join(subquery)

关于python - 如何在 sqlalchemy 中连接两个关于公共(public)关系的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13510394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com