sql >> Databasteknik >  >> RDS >> Sqlserver

Tvetydigt kolumnnamnsfel

Eftersom ARTIFACTTYPE kan referera till antingen A.ARTIFACTTYPE eller B.ARTIFACTTYPE och servern måste veta vilken du vill ha, ändra den bara till A.ARTIFACTTYPE och du borde klara dig i det här fallet.

För att förtydliga måste du ange aliasprefixet varje gång kolumnnamnet är tvetydigt. Det är ingen dålig praxis att alltid använda aliasprefix eftersom det gör det tydligt vilka kolumner som kommer från vilka tabeller när du läser frågan och eliminerar problem som denna.

Man kan undra varför du behöver skilja på vilken av två kolumner du vill ha när de båda refererar till samma kolumn i samma tabell. Svaret är att när du ansluter en tabell till sig själv kan värdena från A.column och B.column vara olika beroende på kopplingskriterierna (som kan vara fallet med en yttre koppling där värden i en av kolumnerna kan vara null).



  1. Hur använder jag Oracle från .NET?

  2. De bästa PostgreSQL-säkerhetshoten

  3. google maps api infofönster flera markörer, samma plats

  4. Quickbooks ODBC-drivrutin