| From: | "Terry Yapt" <pgsql(at)technovell(dot)com> | 
|---|---|
| To: | hostmaster(at)bemarnet(dot)es | 
| Cc: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx | 
| Subject: | Re: [Pgsql-ayuda] Ordenaci Łn de fechas con fechas nulas | 
| Date: | 2003-05-17 16:35:52 | 
| Message-ID: | 1053189352.81a4c98pgsql@technovell.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
No he podido probarla, pero creo que funcionara y seguro que puedes optimizar algunas cosas:
===========
SELECT
     A.id_cliente
    ,B.ultimo
    ,COALESCE(B.ultimo,DATE('01/01/0001')) AS ordenacion
  FROM
    clientes A INNER JOIN (SELECT
                               B.id_cliente
                              ,MAX(B.fecha) AS ultimo
                             FROM pedidos B
			     GROUP BY
			       B.id_cliente) AS B
	         ON     B.id_cliente = A.id_cliente
  WHERE
    A.poblacion ILIKE '%albacete%'
  ORDER BY
    ordenacion DESC;
===========
Saludos.
-----Original Message-----
From: Antonio Navarro Navarro <hostmaster(at)bemarnet(dot)es>
To: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Date: Fri, 16 May 2003 09:17:02 +0200 
Subject: [Pgsql-ayuda] OrdenaciŁn de fechas con fechas nulas
Buenos das,
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
_______________________________________________
Pgsql-ayuda mailing list
Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2003-05-17 17:27:03 | Re: [Pgsql-ayuda] Seguimos con el motor de Postgres | 
| Previous Message | sandrigo lezcano | 2003-05-17 14:04:13 | [Pgsql-ayuda] gracias Martin y otra "Tuneles SSH, SSL" |