Tvetydig kolonnenavn med SQL Join Query

Tvetydig kolonnenavn med SQL Join Query
En vanlig feil når du utfører SQL -sammenføyning er feilen "tvetydig kolonne". Denne typen feil oppstår når du prøver å bli med i to eller flere tabeller og mer enn en kolonne med samme navn vises i mer enn ett av tabellene. Denne korte artikkelen vil diskutere hvordan du løser denne feilen når du utfører SQL -sammenføyninger.

Hva forårsaker denne feilen?

Det beste stedet å starte er å forstå hva som forårsaker et problem. Feilen er hovedsakelig forårsaket når en kolonne med samme navn vises i mer enn en tabell når du utfører en sammenføyning.

For å illustrere hvordan denne feilen oppstår, antar vi at vi har to tabeller som vist i spørsmålene nedenfor:

Lag tabell my_table (
id int auto increment primærnøkkel,
full_name varchar (255),
Lang Varchar (100)
);
Lag tabell my_table_1 (
id int auto increment,
full_name varchar (255),
Lønnspenger
);

Her har vi to tabeller: my_table og my_table_1. Merk at begge tabellene har en fullnavn -kolonne. Ignorer ID-kolonnen da dette er en auto-increment-kolonne.

Hvis vi prøver å kjøre en sammenføyning i de to tabellene:

Velg full_navn, lang, full_name, lønn fra my_table x indre bli med my_table_1 y på x.id = y.id;

Ovennevnte spørring vil returnere en "tvetydig kolonnenavn" -feil. Selv om feilmeldingen kan variere avhengig av databasemotoren, er utgangen nær lik.

Følgende viser den samme feilen som er skrevet ut på PostgreSQL -databasemotoren.

Feil: kolonnereferanse "Fullnavn" er tvetydig

Å gjøre det fører til at SQL blir forvirret med hvilket fullnavn du refererer til.

SQL Løs tvetydig kolonne Navnfeil

For å løse denne feilen, kan vi legge til aliaser for kolonnene som forårsaker tvetydighet. For eksempel kan vi kjøre spørringen som:

Velg x.full_name, lang, y.full_name, lønn fra my_table x indre bli med my_table_1 y på x.id = y.id;

Her legger vi til aliaser for kolonnene med x som representerer my_table og y som representerer my_table_1.

Ovennevnte skal løse feilen og la deg utføre sammenføyningen uten å endre kolonnenavn.

Lukking

Denne opplæringen dekket hvordan du løser feilen "tvetydig kolonne" i SQL.