napisałem Wyrażenie SQL Oracle takiego:Mieszanie „USING” i „on” w Oracle ANSI dołączyć
SELECT
...
FROM mc_current_view a
JOIN account_master am USING (account_no)
JOIN account_master am_loan ON (am.account_no = am_loan.parent_account_no)
JOIN ml_client_account mca USING (account_no)
Kiedy próbuję go uruchomić, Oracle zgłasza błąd w zgodzie z „ON” ja -join mówiąc: "ORA-25154: część kolumny klauzuli USING nie może mieć kwalifikatora".
Jeśli pominę kwalifikator "am", będzie to oznaczać: "ORA-00918: kolumna niejednoznacznie zdefiniowana".
Jaki jest najlepszy sposób rozwiązania tego problemu?
Czy możesz podać powód do tego: "Kiedy użyjesz klauzuli USING dla konkretnej kolumny, nie możesz użyć kwalifikatora kolumny/aliasu tabeli dla tej nazwy kolumny w jakiejkolwiek innej części twojego zapytania."? Wygląda jak głupie ograniczenie i unieważnia samo istnienie UŻYCIA. – TWiStErRob
To było tak długo, że nie mam pod ręką odniesienia. Jeśli jednak spróbujesz, zobaczysz, że to prawda (przynajmniej w 10g). IMO, klauzula USING jest całkowicie bezużyteczna. – DCookie