繁体   English   中英

使用多个列名的SQLAlchemy连接语法

[英]SQLAlchemy join syntax using multiple column names

这是我要执行的以下SQL查询,并且在命令行上可以正常运行:

select * from table1 join table2 using (col1, col2)

我不知道如何使用SQLAlchemy来执行此操作,将不胜感激。

表之间没有外键。 表格行只能通过多列中匹配的值进行配对。

谢谢!

考虑到Entity1映射到table1,而Entity2映射到table2:

rows = session
    .query(Entity1, Entity2)
    .join(Entity2, (Entity1.col1==Entity2.col1) & (Entity1.col2==Entity2.col2))
    .all()

rows将是一个元组列表,其中rows[][0]Entity1rows[][1]Entity2 您可以使用.join() ,然后使用第二个参数指定连接条件。 如果省略.query()条件,则仅.query()方法将在table1和table2之间生成交叉联接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM