Skip site navigation (1) Skip section navigation (2)

Re: Union

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 (view raw or flat)
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--------

In response to

  • Re: Union at 2007-04-24 13:44:06 from Alvaro Herrera

Responses

  • Re: Union at 2007-04-28 04:30:33 from Jaime Casanova

pgsql-es-ayuda by date

Next:From: Jaime CasanovaDate: 2007-04-28 04:14:34
Subject: Re: Optimizar Vista
Previous:From: Victor LopezDate: 2007-04-28 03:42:39
Subject: Re: problema con el sort.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group