Co powoduje ten błąd?
Najlepszym miejscem do rozpoczęcia jest zrozumienie, co powoduje problem. Błąd jest spowodowany głównie, gdy kolumna o tej samej nazwie pojawia się w więcej niż jednej tabeli podczas wykonywania połączenia.
Aby zilustrować, w jaki sposób występuje ten błąd, załóżmy, że mamy dwie tabele, jak pokazano w poniższych zapytaniach:
Utwórz tabelę my_table (Tutaj mamy dwie tabele: my_table i my_table_1. Zauważ, że oba tabele mają kolumnę Full_name. Zignoruj kolumnę identyfikatora, ponieważ jest to kolumna automatycznego zbierania.
Jeśli spróbujemy uruchomić dołączenie do dwóch tabel:
Wybierz Full_name, Lang, Full_name, wynagrodzenie z My_Table X Wewnętrzna dołącz My_Table_1 Y na x.id = y.ID;Powyższe zapytanie zwróci błąd „niejednoznaczna nazwa kolumny”. Chociaż komunikat o błędzie może się różnić w zależności od silnika bazy danych, wyjście jest bardzo podobne.
Poniżej pokazuje ten sam błąd wydrukowany w silniku bazy danych PostgreSQL.
Błąd: Odniesienie kolumny „Full_name” jest niejednoznaczneTo prowadzi do mylania SQL, z jaką nazwa Full_name, o którym mówisz.
SQL Rozwiąż niejednoznaczny błąd nazwy kolumny
Aby rozwiązać ten błąd, możemy dodać aliasy dla kolumn powodujących dwuznaczność. Na przykład możemy uruchomić zapytanie jako:
Wybierz x.Full_name, Lang, Y.Full_name, pensja od My_Table x Wewnętrzna dołącz do my_table_1 y na x.id = y.ID;Tutaj dodajemy aliasy dla kolumn z x reprezentującym my_table i y reprezentujące my_table_1.
Powyższe powinno rozwiązać błąd i umożliwić wykonanie połączenia bez zmiany nazw kolumn.
Zamknięcie
Ten samouczek obejmował, jak rozwiązać błąd „niejednoznaczna nazwa kolumny” w SQL.