DBAtlas · Veritabanı operasyon atlası

ORA-00918: column ambiguously defined

Oracle

Ne demek?

Sorguda birden fazla tabloda aynı ada sahip bir sütun bulunuyor ve bu sütun tablo/alias öneki olmadan kullanıldığından Oracle hangi tabloya ait olduğunu belirleyemiyor.

Neden olur?

JOIN edilen iki tabloda da aynı isimli sütun olması (örn. her ikisinde de ID); SELECT, WHERE ya da ORDER BY'da sütunun niteliksiz (öneksiz) kullanılması.

Nasıl çözülür?

Belirsiz her sütunu tablo adı veya alias ile nitelendirin: SELECT a.id, b.id FROM tabloA a JOIN tabloB b ON a.id = b.a_id; Tablolara kısa alias verip tüm sütunlara önek ekleyerek okunabilirliği ve netliği artırın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar