搜尋

首頁  >  問答  >  主體

存在模糊的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粉127901279317 天前470

全部回覆(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
  • 取消回覆