KNOWLEDGE BASE

Fehler "ORA-00918: column ambiguously defined" beim Verwenden von benutzerdefiniertem SQL


Veröffentlicht: 06 Feb 2014
Zuletzt geändert am: 08 Nov 2019

Problem

Wenn Sie eine Verbindung zu einer Oracle-Datenbank mit benutzerdefiniertem SQL herstellen, kann folgender Fehler auftreten:

ORA-00918: column ambiguously defined (Spalte nicht eindeutig definiert)  

Umgebung

  • Tableau Desktop
  • Oracle

Lösung

Erstellen Sie für alle duplizierten Spaltennamen eindeutige Spaltennamen.
Beispielsweise in der benutzerdefinierten SQL-Anweisung, statt
select usertest1.col1, usertest2.col1, from usertest1, usertest2
Schreiben: 
select usertest1.col1 as 1_col1, usertest2.col1 as 2_col1, from usertest1, usertest2
 

Ursache

Derselbe Spaltenname ist in mindestens zwei unterschiedlichen Tabellen vorhanden, die verknüpft werden. Der benutzerdefinierte SQL-Code ist nicht spezifisch genug, um festzulegen, welche Spalte verwendet werden soll. 
Hat dieser Artikel das Problem gelöst?