Re:

From: David Johnston <polobo(at)yahoo(dot)com>
To: JORGE MALDONADO <jorgemal1960(at)gmail(dot)com>
Cc: "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org>
Subject: Re:
Date: 2012-09-23 01:50:43
Message-ID: 7BBDED60-9F47-469E-B7DF-A391EAB4DF4B@yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Sep 22, 2012, at 20:15, JORGE MALDONADO <jorgemal1960(at)gmail(dot)com> wrote:

> I have the following query:
>
> SELECT
> sem_clave,
> to_char(secc_esp_media.sem_fechareg,'TMMon-DD-YYYY') as sem_fechareg,
> sem_seccion,
> sem_titulo,
> sem_enca,
> tmd_nombre,
> tmd_archivo,
> tmd_origen,
> gen_nombre,
> smd_nombre,
> prm_urlyoutube,
> prm_prmyoutube,
> prm_urlsoundcloud,
> prm_prmsoundcloud
> FROM secc_esp_media
> INNER JOIN cat_tit_media ON tmd_clave = sem_titulo
> INNER JOIN cat_secc_media ON smd_clave = sem_seccion
> INNER JOIN cat_generos ON gen_clave = tmd_genero
> INNER JOIN parametros ON 1 = 1
> WHERE
> smd_nombre = 'SOMETHING' AND
> sem_fipub <= 'SOME DATE'
> ORDER BY sem_fipub DESC, sem_ffpub DESC
>
> I thought it was working fine until I noticed I needed to include a DISTINCT clause as follows:
>
> SELECT DISTINCT ON (sem_clave) ......(the rest of the query is exactly the same as above)
>
> But, when I run it, I get a message telling me that I need an ORDER BY the field "sem_clave" which is the field in the DISTINCT clause. How can I solve this issue without affecting the ORDER BY it already has ?
>
> Regards,
> Jorge Maldonado

Since you are forced to include the ON field(s) first in the ORDER BY if you want a different final sort order you will have to use either a sub-select or a CTE/WITH to execute the above query then in the outer/main query you can perform a second sort.

David J.

In response to

  • at 2012-09-23 00:15:14 from JORGE MALDONADO

Browse pgsql-sql by date

  From Date Subject
Next Message Dmitriy Igrishin 2012-09-23 07:29:29 Re: transactions and ecpg
Previous Message JORGE MALDONADO 2012-09-23 00:15:14