[Pgsql-ayuda] Ordenación de fechas con fechas nulas

Antonio Navarro Navarro Antonio Navarro Navarro <hostmaster@bemarnet.es>
Fri, 16 May 2003 09:17:02 +0200


Buenos días,

Tengo una consulta sencilla que obtiene una serie de datos de dos
tablas :

SELCT id_cliente, (SELECT MAX(fecha) FROM pedidos WHERE pedidos.id_cliente=
clientes.id_cliente) AS ultimo FROM clientes WHERE clientes.poblacion
ILIKE '%albacete%' ORDER BY ultimo DESC;

Los datos que obtiene son un código de cliente y la fecha del último
pedido que este cliente haya realizado.

Por defecto aparecen en primer lugar los registros que no tienen
ningún pedido realizado, de esta forma :

 id_cliente |       ultimo
------------+---------------------
 01395      | 
 37120      |
 99687      | 2003-04-17 00:00:00
 06701      | 2002-11-14 00:00:00
 06525      | 2002-03-26 00:00:00

Yo quiero que se mantenga la ordenación pero que los pedidos con fecha
en blanco aparezcan al final, es decir :

 id_cliente |       ultimo
------------+---------------------
 99687      | 2003-04-17 00:00:00
 06701      | 2002-11-14 00:00:00
 06525      | 2002-03-26 00:00:00
 01395      |
 37120      |

El problema es que no puedo aplicar ninguna función al campo 'ultimo'
para, por ejemplo ordenar de esta forma :

ORDER BY (ultimo IS NOT null), ultimo DESC

Postgres me dice que no encuentra el atributo :

ERROR:  Attribute "ultimo" not found

¿ A alguien se le ocurre una forma de realizar la consulta ?

Un saludo,

Antonio