sql >> Base de Datos >  >> RDS >> Oracle

ORA-00918:Columna definida de forma ambigua

¡Finalmente encontré la solución gracias a todos ustedes! Acepté la respuesta de João Mendes porque en realidad resolví el problema con el alias correcto, pero todas las demás respuestas también fueron relevantes y me ayudaron.

Aquí está la consulta final. En DISTINCT Puse todos los campos del objeto mapeado (Concentrador), más los dos usados ​​en el ORDER BY utilizando el alias correcto. Supongo que no es el más bonito, ¡pero funcionó bien!

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