使用sql搜索数据库中的数据时出现问题(从列表中选择搜索的数据)

时间:2019-05-28 20:51:06

标签: python sql

我有一个数据库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()

0 个答案:

没有答案