Proyeksi kueri hanya dapat memiliki satu instance dari nama yang diberikan. Seperti yang ditunjukkan klausa WHERE Anda, Anda memiliki beberapa tabel dengan kolom bernama ID. Karena Anda memilih *
proyeksi Anda akan memiliki beberapa kolom yang disebut ID. Atau akan terjadi jika bukan karena kompilator yang melemparkan ORA-00918.
Solusinya cukup sederhana:Anda harus memperluas proyeksi untuk memilih kolom bernama secara eksplisit. Kemudian Anda dapat meninggalkan kolom duplikat, mempertahankan hanya (katakanlah) COACHES.ID atau gunakan alias kolom:coaches.id as COACHES_ID
.
Mungkin itu menurut Anda karena banyak mengetik, tetapi itu satu-satunya cara. Jika ada kenyamanan, SELECT *
dianggap sebagai praktik buruk dalam kode produksi:kolom yang dinamai secara eksplisit jauh lebih aman.