【发布时间】:2020-08-04 14:28:37
【问题描述】:
我正在尝试运行多个SQL queries,其中LIKE 运算符包含Python 中列表的每个元素。我有一长串字符串
l = ['string1', 'string2', 'string3',....]
query_1 = "SELECT COUNT(request) FROM table WHERE request LIKE 'l[0]' AND DATE BETWEEN 'date1' AND 'date2'".format(l[0])
query_2 = "SELECT COUNT(request) FROM table WHERE request LIKE 'l[1]' AND DATE BETWEEN 'date1' AND 'date2'".format(l[1])
query_3 = "SELECT COUNT(request) FROM table WHERE request LIKE 'l[2]' AND DATE BETWEEN 'date1' AND 'date2'".format(l[1])
等等。
如何运行多个查询然后将它们连接起来?是否可以在多个查询中使用execute 函数,或者它只能与一个查询一起使用?我会使用 for 循环吗?
编辑:在这个问题的前一个版本中,我询问了在 LIKE 运算符中运行具有多个列表元素的 ONE 查询。我意识到最终的查询是这样的:
SELECT COUNT(request) FROM table WHERE request LIKE 'l[0]' OR LIKE 'l[1]' OR LIKE 'l[2]' AND DATE BETWEEN 'date1' AND 'date2'.
这不是我需要的。
【问题讨论】:
-
你的问题是什么?
-
为什么要同时运行这些命令?你试过
executescript光标的方法吗? -
对于任何混淆,我深表歉意,我编辑了问题,以便运行多个查询,然后将结果连接到一个列表中。
-
只需运行查询并将结果附加到列表中
-
是的,它是 python,它是逐行解释器,你只需要运行代码,然后附加两个结果。但是你应该使用格式化字符串还是占位符?