簡體   English   中英

選擇列與列表SQLAlchemy的元素匹配的行

[英]Select rows where a column matches an element of a list SQLAlchemy

我有兩個包含以下列的表:

con
---
id
code

pa
---
con_id (foreign key and references con.id)
data

我也有一個清單:

names = ['a', 'b', 'c']

我想加入這兩個表來獲得一個包含三列的表/視圖:

pa.con_id
pa.data
con.code 

並返回其中con.codenames中的元素之一的行。 目前,我可以加入我的表並返回所有列:

engine = create_engine('postgresql://postgres:postgres@localhost/db')
metadata = MetaData(bind=engine)
pa = Table('pa', metadata, autoload=True)
contract = Table('contract', metadata, autoload=True)
res = pa.join(contract).select().execute()

但我不知道該怎么做了where它匹配在我的項目之一names列表。

使用Columnin_運算符來執行column in (....) ; 然后在你的names列表的過濾器中使用它。

pa.join(contract).select().where(contract.c.code.in_(names)).execute()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM