Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ORA-00918:Spalte nicht eindeutig definiert

Dank euch allen habe ich endlich die Lösung gefunden! Ich habe die Antwort von João Mendes akzeptiert, weil ich das Problem tatsächlich mit dem richtigen Alias ​​gelöst habe, aber alle anderen Antworten waren auch relevant und haben mir geholfen.

Hier ist die letzte Abfrage. Im DISTINCT Ich habe alle Felder des zugeordneten Objekts (Konzentrator) plus die beiden in ORDER BY verwendeten Felder eingefügt Korrektes Alias ​​verwenden. Nicht das schönste, denke ich, aber es hat gut funktioniert!

SELECT DISTINCT CONCENTRATOR_ID, c.NAME, SUPERVISIONNAME, INTERNALADDRESS, ACTIVEALARMS, IM, ID, LINK, IW, LASTUPDATE, TYPE_ID, DEPARTMENT_ID, d.NAME as "department.name", t.NAME as "type.name"
FROM "CONCENTRATOR" c LEFT OUTER JOIN "CONCENTRATOR_GROUP" USING(CONCENTRATOR_ID)
LEFT OUTER JOIN "GROUP" g USING(GROUP_ID)
LEFT OUTER JOIN "TYPE" t USING(TYPE_ID)
LEFT OUTER JOIN "DEPARTMENT" d USING(DEPARTMENT_ID)
WHERE (g.ident = 1) OR (g.ident = 16) OR (g.ident = 44)
AND (c.iw) > 0
AND TRIM(UPPER(t.name)) = 'OTELO'
ORDER BY im DESC, id DESC, link DESC, iw DESC, TRIM(UPPER(d.name)) ASC, TRIM(UPPER(c.name)) ASC