对数据库中多个表的Python SQL查询

2024-06-28 18:56:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,需要以下方面的帮助:

我正在使用Tkinter和Mysql数据库构建CRM

我的数据库相当大,所以我决定将其拆分为几个表(以避免VARCHAR限制)

到目前为止,我有5个名为CRM1、CRM2、CRM3、CRM4、CRM5的表,每个表都有一列“id”作为主键

由于我需要能够在整个数据库中搜索,我希望在一个查询中连接所有这5个表,但到目前为止,我只成功连接了前2个表。 当我添加第二条JOIN语句时,查询失败

以下是我迄今为止所做的工作: (搜索的是一个输入框。get)

sql = "SELECT * " \
  "FROM CRM1 " \
  "JOIN CRM2 " \
  "ON CRM1.id = CRM2.id " \
  "WHERE " \
  "contact_last_name_1 LIKE '%" + searched + "%' OR " \
  "project_1_piano_brand LIKE '%" + searched + "%' ORDER BY CRM1.id DESC"

我尝试添加另一个JOIN语句,如下所示:

sql = "SELECT * " \
  "FROM CRM1 " \
  "JOIN CRM2 " \
  "ON CRM1.id = CRM2.id " \
  "JOIN CRM3 " \
  "ON CRM1.id = CRM3.id " \
  "WHERE " \
  "contact_last_name_1 LIKE '%" + searched + "%' OR " \
  "project_1_piano_brand LIKE '%" + searched + "%' OR " \
  "project_2_piano_brand LIKE '%" + searched + "%' ORDER BY CRM1.id DESC"

但是查询没有返回任何结果

有人能告诉我我做错了什么吗

提前感谢你的帮助


Tags: orprojectid数据库sqlon语句like