【发布时间】:2021-12-21 18:29:44
【问题描述】:
我正在使用 python 从 ORACLE 表中提取数据。我可以使用
提取其中一个列表所需的行office_list = [aaa, aab, aac, aad]
&& 实际列表要长得多
"""
SELECT *
FROM (
SELECT distinct(id) as id,
office,
cym,
type
FROM oracle1.table1
WHERE office IN ({0})
)
""".format("'" + "','".join([str(i) for i in office_list]) + "'")
我不知道如何同时包含来自不同列表的另一个过滤器。
在这种情况下,它是一个类型列表
type_list = [type1, type2, type3, type4]
任何帮助将不胜感激。 谢谢
【问题讨论】:
-
不要使用字符串连接来构建查询。如果有人决定传入
office_list = ["',(SELECT COUNT(1) FROM secrets_table WHERE username = 'Admin' and password_hash='ABCDEF'),'"],那么你就有问题了。 -
感谢您的反馈。我忘了提到我必须使用中间程序来访问数据......所以需要字符串格式。谢尔盖的反应奏效了。
标签: python sql oracle filtering