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