我有一个数据库offers.db
。如果满足以下条件,我想从数据库中获取数据-在offers_data
列中有keywords
列表中的关键字。
我想获取数据库中包含所有关键字的要约数量的信息。
我已经创建了QUERY_MAP
,并且当我向QUERY_MAP
提供关键字时,例如'WHERE offers_data oferty LIKE 'pool')
,该程序即可运行。但是我想从keywords
列表中获取“池”,而不是直接在QUERY_MAP
中实现“池”一词-有人可以告诉我是否可能吗?
输入条件:'WHERE offers_data LIKE keywords[0]
时出现以下错误:
sqlite3.OperationalError: near "[0]": syntax error
有人可以帮助我使程序按照我想要的方式工作(通过从关键字列表中选择关键字)吗?
dirname = os.path.dirname(__file__)
db_name = 'offers.db'
path_to_db = os.path.join(dirname, db_name)
keywords=["pool", "animations", "beach"]
QUERY_MAP = {'number_of_offers': 'SELECT COUNT (*) FROM vacation_offers WHERE offers_data LIKE keywords[0] AND offers_data LIKE keywords[1] AND offers_data LIKE keywords[2]}
def offers_data():
number_of_offers = run_query(QUERY_MAP['number_of_offers'], path_to_db)
offers_data()