从列表中过滤为查询字符串 postgresql flask sqlalchemy [重复]
Posted
技术标签:
【中文标题】从列表中过滤为查询字符串 postgresql flask sqlalchemy [重复]【英文标题】:filtering from list as query string postgresql flask sqlalchemy [duplicate] 【发布时间】:2022-01-14 05:41:34 【问题描述】:我将列表作为查询字符串传递,我想使用所有列表值的值从数据库中检索数据。列表值表示列的值。我的代码如下所示:
companylist=['a','b','c']
sql = text("""select * from company_data cd where cd.company_id=:companyId""")
priceItem = connection.execute(sql, id=id, companyId=companylist).fetchAll()
这就是表格的样子:
create table company_data
(
id varchar(255) primary key,
company_id text,
price text,
volume text
);
我想要的只是根据数据库列表中的值过滤所有值,并且列表不能大于 20。我该如何解决这个问题?
【问题讨论】:
数据库中的company_id是一个列表还是另一个表的foreign_key(int)? 它不是外键。它只是一个列。 companylist 包含我要过滤的某些公司列的值 您能展示一下您的 company_data 表架构(带有类型的列)吗? 问题已更新 【参考方案1】:我不了解text()
并将值插入到execute()
中,这里我将其转换为字符串格式的sql 命令。
companylist=['a','b','c']
sql = ("""select * from company_data cd where cd.company_id = ANY(ARRAY)""".format(companylist))
priceItem = connection.execute(sql).fetchAll()
这是参考
WHERE column = ANY(ARRAY([a, r, r, a, y]))
【讨论】:
以上是关于从列表中过滤为查询字符串 postgresql flask sqlalchemy [重复]的主要内容,如果未能解决你的问题,请参考以下文章