Como creo que has descubierto, no quieres los paréntesis después de DISTINCT
. Parece que deberían estar parametrizando DISTINCT
, pero en realidad sirven para que la consulta devuelva una sola columna de tipo de registro en lugar de varias columnas. El DISTINCT
Luego, el operador intenta trabajar en el registro y descubre que no ha definido un orden en ese registro.
Si quieres DISTINCT
para trabajar en un subconjunto de sus valores devueltos, use DISTINCT ON
.