Re: COUNT

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

In response to

  • Re: COUNT at 2006-03-01 08:18:37 from Javier Estévez CIFA Córdoba

Responses

  • Re: COUNT at 2006-03-01 13:46:41 from Alvaro Herrera
  • Re: COUNT at 2006-03-02 03:03:51 from Jaime Casanova

Browse pgsql-es-ayuda by date

  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