From: | "Victor Lopez" <d01m01a2000(at)gmail(dot)com> |
---|---|
To: | "Felipe Fernandez" <ffdezrguez(at)tiscali(dot)es>, Postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Union |
Date: | 2007-04-28 04:00:13 |
Message-ID: | ae043d070704272100r4a021d00r1917453a7a358a4e@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 24/04/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
> Felipe Fernandez escribió:
> > Tengo la siguiente consulta pero me dice que no existe la columna fecha(?)
> >
> > SELECT REFERENCIA,FOTO1,LOCALIDAD
> > FROM tabla1
> > WHERE FOTO1 != ''
> > AND ESTADO = 3
> > AND CATEGORIA IN (SELECT CODIGO FROM CATEGORIAS WHERE
> > GRUPO=6)
> > AND DESTACADO = TRUE
> > UNION
> > SELECT REFERENCIA,FOTO1,LOCALIDAD
> > FROM tabla1
> > WHERE FOTO1 != ''
> > AND ESTADO = 3
> > AND CATEGORIA IN (SELECT CODIGO FROM CATEGORIAS WHERE GRUPO=6)
> > AND DESTACADO = FALSE
> > ORDER BY FECHA DESC, HORA DESC LIMIT 1;
> >
> > ERROR: no existe la columna «fecha»
>
> Exacto, no existe la columna fecha. Puedes usar una subconsulta y poner
> el order by afuera:
>
> select referencia, foto1, localidad
> from (
> SELECT REFERENCIA,FOTO1,LOCALIDAD, fecha, hora
> FROM tabla1
> WHERE FOTO1 != ''
> AND ESTADO = 3
> AND CATEGORIA IN (SELECT CODIGO FROM CATEGORIAS WHERE GRUPO=6)
> AND DESTACADO = TRUE
> UNION ALL
> SELECT REFERENCIA,FOTO1,LOCALIDAD, fecha, hora
> FROM tabla1
> WHERE FOTO1 != ''
> AND ESTADO = 3
> AND CATEGORIA IN (SELECT CODIGO FROM CATEGORIAS WHERE GRUPO=6)
> AND DESTACADO = FALSE
> ) foo
> ORDER BY FECHA DESC, HORA DESC LIMIT 1;
>
>
>
> En todo caso me parece que la consulta que tienes es un poco torpe.
> Quedaria mucho mejor asi:
>
> SELECT REFERENCIA,FOTO1,LOCALIDAD, fecha, hora
> FROM tabla1
> WHERE FOTO1 != ''
> AND ESTADO = 3
> AND CATEGORIA IN (SELECT CODIGO FROM CATEGORIAS WHERE GRUPO=6)
>
> --
> Alvaro Herrera http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
>
> http://archives.postgresql.org/pgsql-es-ayuda
>
Por interpretar ... yo interpreto que quiere que los destacados salgan
antes de los no destacados.
Pregunta :
ORDER BY DESTACADO ASC, ....
o
ORDER BY DESTACADO DESC, ...
¿?
Si lo reinterpretámos como numérico TRUE > FALSE, ya que 1>0.
Pero sin reinterpretaciones, que es mayor TRUE o FALSE ?
--
----o---( )---o----
Saludos de Victor Lopez Sabio
d01m01a2000(at)gmail(dot)com
--------oooo--------
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2007-04-28 04:14:34 | Re: Optimizar Vista |
Previous Message | Victor Lopez | 2007-04-28 03:42:39 | Re: problema con el sort. |