Es gibt eine mehrdeutige where-Klausel für die Spalte „Status'.
P粉127901279
P粉127901279 2024-02-25 17:41:22
0
2
435

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

Ich bin neu bei MySQL und versuche, zwei Tabellen miteinander zu verbinden, um Ergebnisse zu erhalten, erhalte jedoch die Fehlermeldung: Spalte status in der Where-Klausel ist mehrdeutig.

„status“ ist mein Funktionsparameter.

P粉127901279
P粉127901279

Antworte allen(2)
P粉066224086

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

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

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

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

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

dgn_cases.`status`=%(checker)s"
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage