首页  >  问答  >  正文

存在模糊的where子句中的列'status'

cursor.execute(
"SELECT * FROM `xplt_cases` LEFT JOIN `dgn_cases` ON dgn_cases.rid = xplt_cases.rid WHERE `status`=%(checker)s",
{
  'checker': status
})

我是 MySQL 新手,我试图将两个表连接在一起以获取结果,但我收到一条错误消息:where 子句中的列 status 不明确。

“status”是我的函数参数。

P粉127901279P粉127901279237 天前384

全部回复(2)我来回复

  • P粉066224086

    P粉0662240862024-02-26 16:25:42

    嗯,看来您的两个表都有一个 status 列。尝试用表名(别名)作为前缀:

    SELECT * FROM `xplt_cases` x LEFT JOIN `dgn_cases` ON dgn_cases.rid = xplt_cases.rid 
    WHERE x.`status`=%(checker)s

    回复
    0
  • P粉850680329

    P粉8506803292024-02-26 13:56:33

    错误 Column 'status' in where 子句是不明确的 意味着您在查询中加入的 2 个表都有一个名为 status 的列,这就是为什么 Mysql 告诉您 column 状态是不明确的

    您可以通过指示表中要在查询中使用哪个 status 列来解决此问题。示例;

    xplt_cases.`status`=%(checker)s"

    dgn_cases.`status`=%(checker)s"

    回复
    0
  • 取消回复