Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORA-00918 :Colonne définie de manière ambiguë

J'ai enfin trouvé la solution grâce à vous tous ! J'ai accepté la réponse de João Mendes car j'ai en fait résolu le problème avec un alias correct, mais toutes les autres réponses étaient également pertinentes et m'ont aidé.

Voici la requête finale.Dans le DISTINCT J'ai mis tous les champs de l'objet mappé (concentrateur), plus les deux utilisés dans le ORDER BY en utilisant le bon alias.Pas le plus joli je suppose, mais a bien fonctionné !

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