Was verursacht diesen Fehler?
Der beste Ort, um zu beginnen, ist zu verstehen, was ein Problem verursacht. Der Fehler wird hauptsächlich verursacht, wenn eine Spalte mit demselben Namen in mehr als einer Tabelle angezeigt wird, wenn ein Join durchgeführt wird.
Um zu veranschaulichen, wie dieser Fehler auftritt, haben wir zwei Tabellen, wie in den folgenden Abfragen gezeigt:
Tabelle erstellen my_table (Hier haben wir zwei Tabellen: my_table und my_table_1. Beachten Sie, dass beide Tabellen eine Full_Name -Spalte haben. Ignorieren Sie die ID-Spalte, da dies eine automatische Spalte ist.
Wenn wir versuchen, eine Verbindung in den beiden Tischen zu betreiben:
Wählen Sie Full_Name, Lang, full_name, Gehalt von my_table x Inner Join my_table_1 y auf x.id = y.Ausweis;Die obige Abfrage gibt einen "mehrdeutigen Spaltennamen" -Fehler zurück. Obwohl die Fehlermeldung je nach Datenbankmotor variieren kann, ist die Ausgabe eng ähnlich.
Das Folgende zeigt denselben Fehler, der in der PostgreSQL -Datenbank -Engine gedruckt wurde.
Fehler: Spaltenreferenz "full_name" ist mehrdeutigDies führt dazu, dass SQL mit welchem Full_Name Sie verwechselt wird.
SQL Lösen Sie mehrdeutigen Spaltennamenfehler
Um diesen Fehler zu lösen, können wir Aliase für die Spalten hinzufügen, die Unklarheiten verursachen. Zum Beispiel können wir die Abfrage als:
Wählen Sie x.full_name, lang, y.full_name, Gehalt von my_table x innere join my_table_1 y auf x.id = y.Ausweis;Hier fügen wir Aliase für die Spalten hinzu, wobei X my_table und y my_table_1 darstellt.
Das obige sollte den Fehler beheben und es Ihnen ermöglichen, den Join auszuführen, ohne die Spaltennamen zu ändern.
Schließen
In diesem Tutorial löste man den Fehler "mehrdeutiger Spaltenname" in SQL.