From: | Javier Estévez CIFA Córdoba <javier(dot)estevez(dot)ext(at)juntadeandalucia(dot)es> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)commandprompt(dot)com> |
Cc: | "Jaime Casanova" <systemguards(at)gmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: COUNT |
Date: | 2006-03-01 11:11:40 |
Message-ID: | 012801c63d20$eb7c7d90$5423410a@cfco04.cap.juntaandalucia.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Por fin he resuelto el problema del column reference "ambiguous".
Esta la consulta correcta:
SELECT b."IdProvincia", b."IdEstacion", count(*)
FROM ria_day a LEFT OUTER JOIN ria_mes_avg_std b
ON (a."IdProvincia" = b."IdProvincia" AND
a."IdEstacion" = b."IdEstacion" AND
a.mes = b.mes AND
a."TempMax" NOT BETWEEN b."TxAVGmes"-2.0*"TxSTDmes" AND
b."TxAVGmes"+2.0*"TxSTDmes")
GROUP by b."IdProvincia", b."IdEstacion"
ORDER by b."IdProvincia", int2(b."IdEstacion")
El problema ahora es que sigue sin sacarme los count(*) con valor 0. Es
decir, tengo el mismo problema que cuando utilizaba JOIN (no LEFT JOIN) y
WHERE.
Lo que si me hace es que me saca al final de todo un registro sólo con
count(*) y con el valor de todos los valores que están dentro del BETWEEN.
----- Original Message -----
From: "Javier Estévez CIFA Córdoba" <javier(dot)estevez(dot)ext(at)juntadeandalucia(dot)es>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: "Jaime Casanova" <systemguards(at)gmail(dot)com>;
<pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Wednesday, March 01, 2006 9:18 AM
Subject: Re: [pgsql-es-ayuda] COUNT
Cuando utilizo ON me devuelve el siguiente ERROR (he ejecutado la
consulta que tú me has propuesto, por cierto, muchas gracias Álvaro)
ERROR: column reference "IdProvincia" is ambiguous
El campo en las 2 tablas se llama así, "IdProvincia". No entiendo por
qué dentro del ON ocurre esto cuando en el WHERE no ocurría.
Alguna sugerencia/ayuda?
----- Original Message -----
From: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
To: "Javier Estévez CIFA Córdoba" <javier(dot)estevez(dot)ext(at)juntadeandalucia(dot)es>
Cc: "Jaime Casanova" <systemguards(at)gmail(dot)com>;
<pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Monday, February 27, 2006 3:43 PM
Subject: Re: [pgsql-es-ayuda] COUNT
Javier Estévez CIFA Córdoba escribió:
> Tengo la siguiente consulta:
>
> SELECT "IdProvincia", "IdEstacion", count(*)
> FROM ria_day a JOIN ria_mes_avg_std b USING
("IdProvincia","IdEstacion",mes)
> WHERE a."IdProvincia"=b."IdProvincia" AND a."IdEstacion"=b."IdEstacion"
AND
> a.mes=b.mes
> AND a."TempMax"<b."TxAVGmes"-2.0*"TxSTDmes" OR
> a."TempMax">b."TxAVGmes"+2.0*"TxSTDmes"
> GROUP by "IdProvincia", "IdEstacion"
> ORDER by "IdProvincia", int2("IdEstacion")
Creo que seria algo asi
SELECT "IdProvincia", "IdEstacion", count(*)
FROM ria_day a LEFT JOIN ria_mes_avg_std b
ON (a."IdProvincia" = b."IdProvincia" AND
a."IdEstacion" = b."IdEstacion" AND
a.mes = b.mes AND
a."TempMax" BETWEEN b."TxAVGmes"-2.0*"TxSTDmes" AND
b."TxAVGmes"+2.0*"TxSTDmes")
GROUP by "IdProvincia", "IdEstacion"
ORDER by "IdProvincia", int2("IdEstacion")
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
---------------------------(fin del mensaje)---------------------------
TIP 9: el optimizador ignorará el uso de recorridos de índice si los
tipos de datos de las columnas no coinciden
---------------------------(fin del mensaje)---------------------------
TIP 9: el optimizador ignorará el uso de recorridos de índice si los
tipos de datos de las columnas no coinciden
From | Date | Subject | |
---|---|---|---|
Next Message | juanudo | 2006-03-01 12:33:37 | Re: Problemas con ODBC |
Previous Message | Javier Estévez CIFA Córdoba | 2006-03-01 09:54:32 | Re: COUNT |