Я пытаюсь создать SQL, который должен быть отфильтрован по двум параметрам (2 столбца), а второй столбец должен соответствовать нескольким значениям.
Ниже приведен SQL, который я построил до сих пор (спасибо за помощь Martijn Pieters )
import psycopg2
import pandas as pd
import datetime
# Connecting to db
con = psycopg2.connect(db_details)
cur = con.cursor()
cur.execute("select * from sales limit 10")
rows = cur.fetchall()
params = {'earliest': datetime.datetime.today() - datetime.timedelta(days=7),
'store_name': 'store_1', 'store_2'}
df = pd.read_sql("""
select store_name,count(*) from sales
where created_at >= %(earliest)s
and store_name = %(store_name)s""",
params=params, con=con)
В приведенном выше SQL есть один параметр даты, который используется в предложении where, и я добавил еще один параметр, а именно store_name , где строки соответствуют одному из двух значений.
Хотелось бы узнать, как я могу добавить этот дополнительный параметр к существующему запросу.
Я попытался создать параметр (похожий на фильтр даты) и передать его в существующий запрос, но получил синтаксическую ошибку, когда я дал ему два значения:
'store_name': 'store_1', 'store_2'}
^
SyntaxError: invalid syntax
указывает на поле params
.