[英]Join multiple tables with identical column names in sqlalchemy core - how?
[英]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]
是Entity1
而rows[][1]
是Entity2
。 您可以使用.join()
,然后使用第二个参数指定连接条件。 如果省略.query()
条件,则仅.query()
方法将在table1和table2之间生成交叉联接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.