W końcu znalazłem rozwiązanie dzięki wam wszystkim! Zaakceptowałem odpowiedź João Mendesa, ponieważ faktycznie rozwiązałem problem z poprawnym aliasem, ale wszystkie inne odpowiedzi również były istotne i pomogły mi.
Oto ostatnie zapytanie.W DISTINCT
Umieszczam wszystkie pola mapowanego obiektu (Koncentrator) oraz dwa używane w ORDER BY
używając poprawnego aliasu. Chyba nie najładniejszy, ale działał dobrze!
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