recherche

Maison  >  Questions et réponses  >  le corps du texte

Il existe une clause Where ambiguë pour la colonne « statut »

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

Je suis nouveau sur MySQL et j'essaie de joindre deux tables ensemble pour obtenir des résultats mais je reçois un message d'erreur : La colonne status dans la clause Where est ambiguë.

"statut" est mon paramètre de fonction.

P粉127901279P粉127901279278 Il y a quelques jours424

répondre à tous(2)je répondrai

  • P粉066224086

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

    Hmm, il semble que vos deux tables aient une colonne status. Essayez de le préfixer avec le nom de la table (alias) :

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

    répondre
    0
  • P粉850680329

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

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

    Vous pouvez résoudre ce problème en indiquant quelle status colonne du tableau vous souhaitez utiliser dans la requête. Exemple ;

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

    ou

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

    répondre
    0
  • Annulerrépondre