From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Antonio Antonio <a2076totonio(at)yahoo(dot)es> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Consulta SQL |
Date: | 2008-05-15 15:59:50 |
Message-ID: | 20080515155950.GD8221@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Antonio Antonio escribió:
> select a1.ida,
> a1.coste,
> a1.dominio
> from tabla1 as a1,
> tabla2 as a2
> tabla3 as a3
> where a1.id = a2.id
> and a2.id_c = a3.id_c
> and (a1.cuota > a1.consumido)
> ....
> ....
> group by a1.dominio
> order by a1.coste DESC
Si no entiendo mal, esta consulta es válida de acuerdo al estándar SQL
sólo si a1.dominio es una llave única(*). Postgres no es capaz de
determinar eso, y por lo tanto rechaza la consulta (debes especificar
todas las columnas en el group by); en cambio MySQL se comporta peor y
lo permite, mostrándote resultados posiblemente erróneos.
(*) Creo que hay una formulación posible que es menos estricta, que
hablaría de las dependencias funcionales de todos los otros campos en la
lista de resultados en el conjunto de campos mencionados en el GROUP BY,
pero eso es aún más difícil de determinar que lo que digo arriba.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Raul Andres Duque | 2008-05-15 16:37:52 | A donde se fué el directorio "share/locale" en 8.3 |
Previous Message | Jaime Casanova | 2008-05-15 15:38:47 | Re: Certificación en postgresql |