python在like操作符中列出多个sql查询中的元素

yacmzcpb  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(354)

我正在尝试运行多个 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])

等等。
如何在每个包含列表元素的查询中使用like操作符同时运行多个查询?有没有可能使用 execute 对多个查询起作用还是只能对一个查询起作用?我会使用for循环吗?
编辑:在这个问题的前一个版本中,我问过如何在数据库中运行一个包含多个列表元素的查询 LIKE 接线员。我意识到最后的问题是:

SELECT COUNT(request) FROM table WHERE request LIKE 'l[0]' OR LIKE 'l[1]' OR LIKE 'l[2]' AND DATE BETWEEN 'date1' AND 'date2'.

那不是我需要的。

yhived7q

yhived7q1#

使用
query=“从表中选择count(请求),其中请求类似于{},日期介于'date1'和'date2'之间。format(”“or request like'”.join(l))

gj3fmq9x

gj3fmq9x2#

应该是工作

l = ['string1', 'string2', 'string3',....]

query = "SELECT COUNT(request) FROM table WHERE request like {} AND DATE BETWEEN 'date1' AND 'date2'".format(", ".join(l))
    client.execute(query)

相关问题