Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-00918:Coluna definida de forma ambígua


Finalmente encontrei a solução graças a todos vocês !Aceitei a resposta de João Mendes porque realmente resolvi o problema com o alias correto, mas todas as outras respostas também foram relevantes e me ajudaram.

Aqui está a consulta final. No DISTINCT Coloquei todos os campos do objeto mapeado (Concentrador), mais os dois usados ​​no ORDER BY usando o alias correto. Não é o mais bonito, eu acho, mas funcionou bem!
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