Проекцията на заявка може да има само един екземпляр на дадено име. Както показва вашата клауза WHERE, имате няколко таблици с колона, наречена ID. Тъй като избирате *
вашата проекция ще има няколко колони, наречени ID. Или щеше да беше, ако не беше компилаторът, който хвърли ORA-00918.
Решението е съвсем просто:ще трябва да разширите проекцията, за да изберете изрично именувани колони. След това можете или да пропуснете дублиращите се колони, запазвайки само (да речем) COACHES.ID или да използвате псевдоними на колони:coaches.id as COACHES_ID
.
Може би това ви се струва, че пишете много, но това е единственият начин. Ако ви е удобно, SELECT *
се счита за лоша практика в производствения код:изрично назованите колони са много по-безопасни.