Ich habe zwei Tabellen A und B, und versuchen, sie zu wählen, indem Sie SQL INNER JOIN
, aber ich laufe in diesen Fehler:sql ORA-00918 beitreten: Spalte zweideutig
ORA-00918: column ambiguously defined
Ich denke, es ist, weil es Der Name von zwei Spalten in diesen beiden Tabellen ist der gleiche, das heißt A.column1
, B.column1
und A.column2
und B.column2
(Der Name dieser zwei Spalten in A und B sind identisch). Da diese beiden Tabellen auf dem Server gespeichert sind, kann ich die Spalten nicht umbenennen. Was kann ich also tun?
der Code Dies ist ich benutze:
Select * FROM A INNER JOIN B WHERE A.column1 = B.column1.
Wie kann ich es beheben?
Verwenden Sie Spaltennamen mit korrektem Alias anstelle von * in Ihrer Abfrage. – hemalp108
Ich denke, Sie zeigen hier nicht die vollständige Abfrage. Ich würde sagen, dass Sie in Ihrer tatsächlichen Abfrage eine 'where'-Klausel für eine Spalte verwenden, die zweideutig definiert ist (existiert sowohl in A- als auch in B-Tabellen, aber es wird nicht genau angezeigt, wo sie herkommt). – sanastasiadis