En forespørgsels projektion kan kun have én forekomst af et givet navn. Som din WHERE-sætning viser, har du flere tabeller med en kolonne kaldet ID. Fordi du vælger *
din projektion vil have flere kolonner kaldet ID. Eller det ville have været det, hvis det ikke var for compileren, der slyngede ORA-00918.
Løsningen er ret enkel:du bliver nødt til at udvide projektionen for eksplicit at vælge navngivne kolonner. Derefter kan du enten udelade de duplikerede kolonner, blot beholde (f.eks.) COACHES.ID eller bruge kolonnealiasser:coaches.id as COACHES_ID
.
Måske slår det dig som en masse skrivning, men det er den eneste måde. Hvis det er nogen bekvemmelighed, SELECT *
betragtes som dårlig praksis i produktionskode:eksplicit navngivne kolonner er meget sikrere.