From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Felipe Fernandez <ffdezrguez(at)tiscali(dot)es> |
Cc: | Postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Union |
Date: | 2007-04-24 13:44:06 |
Message-ID: | 20070424134406.GB4009@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-04-24 14:29:32 | Re: Nuevas versiones corrigen problemas de seguridad |
Previous Message | Raúl Mero Moreira | 2007-04-24 13:12:22 | Re: Union |