Python элементов списка в нескольких SQL запросах в операторе Like - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь запустить несколько 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 для нескольких запросов или она может работать только с одним? Могу ли я использовать для l oop?

EDIT: в предыдущей версии этого вопроса я спрашивал о выполнении запроса ONE с несколькими элементами списка в операторе 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'.

Это было не то, что мне нужно.

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

Должно получиться

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)
0 голосов
/ 04 августа 2020

Используйте

query = "SELECT COUNT (request) FROM table WHERE request like '{}' AND DATE BETWEEN 'date1' AND 'date2'". Format ("'или request like'" .join (л))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...