首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在包含3个表的数据库中使用SQLAlchemy创建嵌套连接

在包含3个表的数据库中使用SQLAlchemy创建嵌套连接
EN

Stack Overflow用户
提问于 2021-09-13 19:54:26
回答 1查看 19关注 0票数 0

我希望将三个表连接在一起,以便找到第三个表的id的值。SQL语句工作正常,如下所示:

代码语言:javascript
复制
SELECT table_three.id from table three
   JOIN (table_one JOIN table_two ON table_one.id = table_two.table_one_id)
   ON table_three.table_two_id = table_two.id
   WHERE table_one.id = x AND table_two.external_id = y AND table three.external_id = z

对于这样的代码,SQL Alchemy代码应该是什么样子的?我看过the documentation,但他们的查询与我的不同,我无法很好地理解这个示例,无法将其应用到我自己的代码中。

EN

回答 1

Stack Overflow用户

发布于 2021-09-14 14:53:56

事实证明,链接join语句做的正是我们一直需要的。

代码语言:javascript
复制
result = connection.execute(
   select(Table_three.id)
   .join(Table_two, Table_three.Table_two_id == Table_two.id)
   .join(Table_one, Table_two.Table_one_id == Table_one.id)
   .where(
      and_(
          Table_three.external_id == z,
          Table_two.external_id == y,
          Table_on.id = x
      )
   )
).one_or_none()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69168372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档