Discussion:
COUNT
Javier Estévez CIFA Córdoba
2006-02-27 08:11:29 UTC
Permalink
Es posible que al realizar un count(*) me devuelva el valor 0 cuando corresponda?

Cómo puedo hacerlo?

Gracias. Javier Estévez
Jaime Casanova
2006-02-27 08:35:00 UTC
Permalink
On 2/27/06, Javier Estévez CIFA Córdoba
<javier.estevez.ext-***@public.gmane.org> wrote:
> Es posible que al realizar un count(*) me devuelva el valor 0 cuando
> corresponda?
>
> Cómo puedo hacerlo?
>
> Gracias. Javier Estévez
>

estas pensando en sum...
count siempre regresa un valor numerico >= 0

respecto a tu pregunta... seria

select coalesce(sum(campo), 0) from tabla

--
Atentamente,
Jaime Casanova

"What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz
Moko Verdoso
2006-02-27 09:35:05 UTC
Permalink
<html><div style='background-color:'><DIV class=RTE>
<P>coalesce es lo mismo que nvl de oracle no?<BR><BR></P></DIV>
<DIV></DIV>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #a0c6e5 2px solid; MARGIN-RIGHT: 0px"><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">
<HR color=#a0c6e5 SIZE=1>

<DIV></DIV>From:&nbsp;&nbsp;<I>"Jaime Casanova" &lt;systemguards-***@public.gmane.org&gt;</I><BR>To:&nbsp;&nbsp;<I>"Javier Estévez CIFA Córdoba" &lt;javier.estevez.ext-***@public.gmane.org&gt;</I><BR>CC:&nbsp;&nbsp;<I>pgsql-es-ayuda-RDL/***@public.gmane.org</I><BR>Subject:&nbsp;&nbsp;<I>Re: [pgsql-es-ayuda] COUNT</I><BR>Date:&nbsp;&nbsp;<I>Mon, 27 Feb 2006 03:35:00 -0500</I><BR>&gt;On 2/27/06, Javier Estévez CIFA Córdoba<BR>&gt;&lt;javier.estevez.ext-***@public.gmane.org&gt; wrote:<BR>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Es posible que al realizar un count(*) me devuelva el valor 0 cuando<BR>&gt; &gt; corresponda?<BR>&gt; &gt;<BR>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Cómo puedo hacerlo?<BR>&gt; &gt;<BR>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Gracias. Javier Estévez<BR>&gt; &gt;<BR>&gt;<BR>&gt;estas pensando en sum...<BR>&gt;
count siempre regresa un valor numerico &gt;= 0<BR>&gt;<BR>&gt;respecto a tu pregunta...
seria<BR>&gt;<BR>&gt;select coalesce(sum(campo), 0) from tabla<BR>&gt;<BR>&gt;--<BR>&gt;Atentamente,<BR>&gt;Jaime Casanova<BR>&gt;<BR>&gt;"What they (MySQL) lose in usability, they gain back in benchmarks, and that's<BR>&gt;all that matters: getting the wrong answer really fast."<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Randal L. Schwartz<BR>&gt;<BR>&gt;---------------------------(fin del mensaje)---------------------------<BR>&gt;TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a majordomo-RDL/***@public.gmane.org para que tus mensajes puedan llegar<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
sp;&nbsp;&nbsp;a los suscriptores de la lista<BR></FONT></BLOCKQUOTE></div><br clear=all><hr>Charla
con tus amigos en línea mediante MSN Messenger: <a href="http://g.msn.com/8HMAES/2728??PS=47575" target="_top">Haz clic aquí</a> </html>
Pablo Braulio
2006-02-27 10:04:42 UTC
Permalink
Por favor, desactiva el formato HTML para los mensajes.

Es muy molesto.


El Lunes, 27 de Febrero de 2006 10:35, Moko Verdoso escribió:
> <html><div style='background-color:'><DIV class=RTE>
> <P>coalesce es lo mismo que nvl de oracle no?<BR><BR></P></DIV>
> <DIV></DIV>
> <BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT:
> #a0c6e5 2px solid; MARGIN-RIGHT: 0px"><FONT style="FONT-SIZE: 11px;
> FONT-FAMILY: tahoma,sans-serif"> <HR color=#a0c6e5 SIZE=1>
>
> <DIV></DIV>From:&nbsp;&nbsp;<I>"Jaime Casanova"
> &lt;systemguards-***@public.gmane.org&gt;</I><BR>To:&nbsp;&nbsp;<I>"Javier Estévez
> CIFA Córdoba"
> &lt;javier.estevez.ext-***@public.gmane.org&gt;</I><BR>CC:&nbsp;&nbsp;<I>pgs
>ql-es-ayuda-RDL/***@public.gmane.org</I><BR>Subject:&nbsp;&nbsp;<I>Re:
> [pgsql-es-ayuda] COUNT</I><BR>Date:&nbsp;&nbsp;<I>Mon, 27 Feb 2006 03:35:00
> -0500</I><BR>&gt;On 2/27/06, Javier Estévez CIFA
> Córdoba<BR>&gt;&lt;javier.estevez.ext-***@public.gmane.org&gt;
> wrote:<BR>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Es posible que al realizar un
> count(*) me devuelva el valor 0 cuando<BR>&gt; &gt; corresponda?<BR>&gt;
> &gt;<BR>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Cómo puedo hacerlo?<BR>&gt;
> &gt;<BR>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Gracias. Javier Estévez<BR>&gt;
> &gt;<BR>&gt;<BR>&gt;estas pensando en sum...<BR>&gt;count siempre regresa
> un valor numerico &gt;= 0<BR>&gt;<BR>&gt;respecto a tu pregunta...
> seria<BR>&gt;<BR>&gt;select coalesce(sum(campo), 0) from
> tabla<BR>&gt;<BR>&gt;--<BR>&gt;Atentamente,<BR>&gt;Jaime
> Casanova<BR>&gt;<BR>&gt;"What they (MySQL) lose in usability, they gain
> back in benchmarks, and that's<BR>&gt;all that matters: getting the wrong
> answer really
> fast."<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&
>nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Randal L.
> Schwartz<BR>&gt;<BR>&gt;---------------------------(fin del
> mensaje)---------------------------<BR>&gt;TIP 3: si publicas/lees desde
> Usenet, por favor envía
> "subscribe-nomail"<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a
> majordomo-RDL/***@public.gmane.org para que tus mensajes puedan
> llegar<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a los
> suscriptores de la lista<BR></FONT></BLOCKQUOTE></div><br
> clear=all><hr>Charla con tus amigos en línea mediante MSN Messenger: <a
> href="http://g.msn.com/8HMAES/2728??PS=47575" target="_top">Haz clic
> aquí</a> </html>

--
Saludos.
Pablo
------------
Jabber: bruli(at)myjabber(to)net
Fingerprint: 944D 10DA 4C10 08D1 574D 4B48 3BC1 CEF7 F222 EB1D
Javier Estévez CIFA Córdoba
2006-02-27 10:47:39 UTC
Permalink
Lo he probado y no me funciona: mi campo es un count(*) y al hacer
sum(count(*)) me da error.

De todas formas si count(*) devuelve valores mayor o igual que cero...
me podría valer, pero creo que no es así, cuando es 0 no devuelve nada.

----- Original Message -----
From: "Jaime Casanova" <systemguards-***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: <pgsql-es-ayuda-RDL/***@public.gmane.org>
Sent: Monday, February 27, 2006 9:35 AM
Subject: Re: [pgsql-es-ayuda] COUNT


On 2/27/06, Javier Estévez CIFA Córdoba
<javier.estevez.ext-***@public.gmane.org> wrote:
> Es posible que al realizar un count(*) me devuelva el valor 0 cuando
> corresponda?
>
> Cómo puedo hacerlo?
>
> Gracias. Javier Estévez
>

estas pensando en sum...
count siempre regresa un valor numerico >= 0

respecto a tu pregunta... seria

select coalesce(sum(campo), 0) from tabla

--
Atentamente,
Jaime Casanova

"What they (MySQL) lose in usability, they gain back in benchmarks, and
that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz

---------------------------(fin del mensaje)---------------------------
TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
a majordomo-RDL/***@public.gmane.org para que tus mensajes puedan llegar
a los suscriptores de la lista
Lic. Martin Marques
2006-02-27 11:35:04 UTC
Permalink
On Mon, 27 Feb 2006, Javier Est=E9vez CIFA C=F3rdoba wrote:

> Lo he probado y no me funciona: mi campo es un count(*) y al hacer
> sum(count(*)) me da error.
>
> De todas formas si count(*) devuelve valores mayor o igual que cero...
> me podr=EDa valer, pero creo que no es as=ED, cuando es 0 no devuelve nad=
a.

hhuuuu???

prueba=3D> SELECT * FROM usuarios;
codigo | persona | perfil
--------+---------+--------
(0 filas)

prueba=3D> SELECT count(*) FROM usuarios;
count
-------
0
(1 fila)


--
21:50:04 up 2 days, 9:07, 0 users, load average: 0.92, 0.37, 0.18
---------------------------------------------------------
Lic. Mart=EDn Marqu=E9s | SELECT 'mmarques' ||=20
Centro de Telem=E1tica | '@' || 'unl.edu.ar';
Universidad Nacional | DBA, Programador,
del Litoral | Administrador
---------------------------------------------------------=
Alvaro Herrera
2006-02-27 12:12:35 UTC
Permalink
Javier Estévez CIFA Córdoba escribió:
> Lo he probado y no me funciona: mi campo es un count(*) y al hacer
> sum(count(*)) me da error.

Vamos a ver:

alvherre=# select sum(count(*)) from empty;
ERROR: no se pueden anidar llamadas a funciones de agregación

Que parte del mensaje de error no entendiste?

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Javier Estévez CIFA Córdoba
2006-02-27 12:23:37 UTC
Permalink
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")

El problema es justamente que para TODA "IdProvincia","IdEstacion" obtenga
un valor del count(*). La cuestión es que cuando la claúsula WHERE no se
cumpla quiero que el count(*) me devuelva 0.

----- Original Message -----
From: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.org>
Sent: Monday, February 27, 2006 1:12 PM
Subject: Re: [pgsql-es-ayuda] COUNT


Javier Estévez CIFA Córdoba escribió:
> Lo he probado y no me funciona: mi campo es un count(*) y al hacer
> sum(count(*)) me da error.

Vamos a ver:

alvherre=# select sum(count(*)) from empty;
ERROR: no se pueden anidar llamadas a funciones de agregación

Que parte del mensaje de error no entendiste?

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

---------------------------(fin del mensaje)---------------------------
TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
a majordomo-RDL/***@public.gmane.org para que tus mensajes puedan llegar
a los suscriptores de la lista
Alvaro Herrera
2006-02-27 12:28:15 UTC
Permalink
Javier Estévez CIFA Córdoba escribió:

> El problema es justamente que para TODA "IdProvincia","IdEstacion" obtenga
> un valor del count(*). La cuestión es que cuando la claúsula WHERE no se
> cumpla quiero que el count(*) me devuelva 0.

En ese caso tendrias que usar un outer join, no?

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Javier Estévez CIFA Córdoba
2006-02-27 12:48:23 UTC
Permalink
Lo he probado y me sigue sin funcionar, los registros que no cumplen la
cláusula where no aparecen en el count(*)


----- Original Message -----
From: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.org>
Sent: Monday, February 27, 2006 1:28 PM
Subject: Re: [pgsql-es-ayuda] COUNT


Javier Estévez CIFA Córdoba escribió:

> El problema es justamente que para TODA "IdProvincia","IdEstacion" obtenga
> un valor del count(*). La cuestión es que cuando la claúsula WHERE no se
> cumpla quiero que el count(*) me devuelva 0.

En ese caso tendrias que usar un outer join, no?

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

---------------------------(fin del mensaje)---------------------------
TIP 5: ¿Has leído nuestro extenso FAQ?

http://www.postgresql.org/files/documentation/faqs/FAQ.html
Alvaro Herrera
2006-02-27 13:00:23 UTC
Permalink
Javier Estévez CIFA Córdoba escribió:
> Lo he probado y me sigue sin funcionar, los registros que no cumplen la
> cláusula where no aparecen en el count(*)

Supongo que observaste que para usar un OUTER JOIN tienes que reformular
el WHERE.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Javier Estévez CIFA Córdoba
2006-02-27 13:09:00 UTC
Permalink
Nop...

Pero no me dio ERROR... simplemente me hizo lo mismo.

----- Original Message -----
From: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.org>
Sent: Monday, February 27, 2006 2:00 PM
Subject: Re: [pgsql-es-ayuda] COUNT


> Javier Estévez CIFA Córdoba escribió:
> > Lo he probado y me sigue sin funcionar, los registros que no cumplen
la
> > cláusula where no aparecen en el count(*)
>
> Supongo que observaste que para usar un OUTER JOIN tienes que reformular
> el WHERE.
>
> --
> Alvaro Herrera
http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Javier Estévez CIFA Córdoba
2006-02-27 13:27:47 UTC
Permalink
Es indistinto que utilice ON or USING, he probado con ambos según la
documentación.

No entiendo por qué hay que reformular el WHERE?

----- Original Message -----
From: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.org>
Sent: Monday, February 27, 2006 2:00 PM
Subject: Re: [pgsql-es-ayuda] COUNT


> Javier Estévez CIFA Córdoba escribió:
> > Lo he probado y me sigue sin funcionar, los registros que no cumplen
la
> > cláusula where no aparecen en el count(*)
>
> Supongo que observaste que para usar un OUTER JOIN tienes que reformular
> el WHERE.
>
> --
> Alvaro Herrera
http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Alvaro Herrera
2006-02-27 13:32:55 UTC
Permalink
Javier Estévez CIFA Córdoba escribió:

> Nop...
>
> Pero no me dio ERROR... simplemente me hizo lo mismo.

Eso es porque la sintaxis sin reformular sigue siendo valida. Lo que
pasa es que te da los mismos resultados que antes; por eso tienes que
cambiarlo.

> Es indistinto que utilice ON or USING, he probado con ambos según la
> documentación.

Son equivalentes (excepto que ON es mas poderoso).

> No entiendo por qué hay que reformular el WHERE?

Porque me parece que tu WHERE asume que ciertos valores no son nulos, y
por lo tanto el optimizador automaticamente reduce tu OUTER JOIN a un
INNER JOIN.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Javier Estévez CIFA Córdoba
2006-02-27 13:39:30 UTC
Permalink
Mi objetivo es seleccionar cuantos valores están dentro de un RANGO.

Si la claúsula WHERE no se cumple, el count(*) debería devolverme 0, no?

----- Original Message -----
From: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.org>
Sent: Monday, February 27, 2006 2:32 PM
Subject: Re: [pgsql-es-ayuda] COUNT


Javier Estévez CIFA Córdoba escribió:

> Nop...
>
> Pero no me dio ERROR... simplemente me hizo lo mismo.

Eso es porque la sintaxis sin reformular sigue siendo valida. Lo que
pasa es que te da los mismos resultados que antes; por eso tienes que
cambiarlo.

> Es indistinto que utilice ON or USING, he probado con ambos según la
> documentación.

Son equivalentes (excepto que ON es mas poderoso).

> No entiendo por qué hay que reformular el WHERE?

Porque me parece que tu WHERE asume que ciertos valores no son nulos, y
por lo tanto el optimizador automaticamente reduce tu OUTER JOIN a un
INNER JOIN.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

---------------------------(fin del mensaje)---------------------------
TIP 2: puedes desuscribirte de todas las listas simultáneamente
(envíe "unregister TuDirecciónDeCorreo" a majordomo-RDL/***@public.gmane.org)
Alvaro Herrera
2006-02-27 13:53:35 UTC
Permalink
Javier Estévez CIFA Córdoba escribió:
> Mi objetivo es seleccionar cuantos valores están dentro de un RANGO.

> Si la claúsula WHERE no se cumple, el count(*) debería devolverme 0, no?

No lo se, porque no lei tu consulta. Pero si no te devuelve nada, no
basta con que desees que devuelva cero, por muy fuertemente que lo
desees. En lugar de desear tienes que reformular la consulta.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Moko Verdoso
2006-02-27 14:56:10 UTC
Permalink
Count(*) funciona en consultas de agrupación lo cual es necesario incluirlas
en condiciones no en where sino en 'having' has probado por ahí?

>From: Alvaro Herrera <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
>To: Javier Estévez CIFA Córdoba <javier.estevez.ext-***@public.gmane.org>
>CC: Jaime Casanova <systemguards-***@public.gmane.org>, pgsql-es-ayuda-RDL/***@public.gmane.org
>Subject: Re: [pgsql-es-ayuda] COUNT
>Date: Mon, 27 Feb 2006 10:53:35 -0300
>
>Javier Estévez CIFA Córdoba escribió:
> > Mi objetivo es seleccionar cuantos valores están dentro de un
>RANGO.
>
> > Si la claúsula WHERE no se cumple, el count(*) debería devolverme 0,
>no?
>
>No lo se, porque no lei tu consulta. Pero si no te devuelve nada, no
>basta con que desees que devuelva cero, por muy fuertemente que lo
>desees. En lugar de desear tienes que reformular la consulta.
>
>--
>Alvaro Herrera http://www.CommandPrompt.com/
>The PostgreSQL Company - Command Prompt, Inc.
>
>---------------------------(fin del mensaje)---------------------------
>TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
> a majordomo-RDL/***@public.gmane.org para que tus mensajes puedan llegar
> a los suscriptores de la lista

_________________________________________________________________
MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/
Moko Verdoso
2006-02-27 15:01:16 UTC
Permalink
Habeis probado con

select ...., coallesce(count(*),0)
from ....
where ...
having (count(*)>0);


>From: "Moko Verdoso" <mokitoverde-***@public.gmane.org>
>To: alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org
>CC: pgsql-es-ayuda-RDL/***@public.gmane.org
>Subject: Re: [pgsql-es-ayuda] COUNT
>Date: Mon, 27 Feb 2006 14:56:10 +0000
>
>
>Count(*) funciona en consultas de agrupación lo cual es necesario
>incluirlas en condiciones no en where sino en 'having' has probado por ahí?
>
>>From: Alvaro Herrera <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
>>To: Javier Estévez CIFA Córdoba <javier.estevez.ext-***@public.gmane.org>
>>CC: Jaime Casanova <systemguards-***@public.gmane.org>, pgsql-es-ayuda-RDL/***@public.gmane.org
>>Subject: Re: [pgsql-es-ayuda] COUNT
>>Date: Mon, 27 Feb 2006 10:53:35 -0300
>>
>>Javier Estévez CIFA Córdoba escribió:
>> > Mi objetivo es seleccionar cuantos valores están dentro de un
>>RANGO.
>>
>> > Si la claúsula WHERE no se cumple, el count(*) debería devolverme
>>0, no?
>>
>>No lo se, porque no lei tu consulta. Pero si no te devuelve nada, no
>>basta con que desees que devuelva cero, por muy fuertemente que lo
>>desees. En lugar de desear tienes que reformular la consulta.
>>
>>--
>>Alvaro Herrera
>>http://www.CommandPrompt.com/
>>The PostgreSQL Company - Command Prompt, Inc.
>>
>>---------------------------(fin del mensaje)---------------------------
>>TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
>> a majordomo-RDL/***@public.gmane.org para que tus mensajes puedan llegar
>> a los suscriptores de la lista
>
>_________________________________________________________________
>MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/
>
>
>---------------------------(fin del mensaje)---------------------------
>TIP 5: ¿Has leído nuestro extenso FAQ?
>
> http://www.postgresql.org/files/documentation/faqs/FAQ.html

_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger:
http://messenger.latam.msn.com/
Jaime Casanova
2006-02-28 07:59:22 UTC
Permalink
On 2/27/06, Javier Estévez CIFA Córdoba
<javier.estevez.ext-***@public.gmane.org> wrote:
> Mi objetivo es seleccionar cuantos valores están dentro de un RANGO.
>
> Si la claúsula WHERE no se cumple, el count(*) debería devolverme 0, no?
>

no. porque tienes un INNER JOIN, si la clausula WHERE no se cumple no
regresara esos registros... como alvaro ya te dijo necesitas hacer un
OUTER JOIN e indicarle al WHERE como quieres que se procese...

tambien me parece que no es correcto decir count(*) en el contexto de
un OUTER JOIN... aunque puede que me equivoque...

--
Atentamente,
Jaime Casanova

"What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz
Alvaro Herrera
2006-02-27 14:43:41 UTC
Permalink
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.
Javier Estévez CIFA Córdoba
2006-03-01 08:18:37 UTC
Permalink
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-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.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
Moko Verdoso
2006-03-01 09:28:00 UTC
Permalink
<html><div style='background-color:'><DIV class=RTE>
<P>Has probado si las propiedades del campo son coincidentes??? puede ser que tenga distinto atributo no crees? <BR><BR></P></DIV>
<DIV></DIV>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #a0c6e5 2px solid; MARGIN-RIGHT: 0px"><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">
<HR color=#a0c6e5 SIZE=1>

<DIV></DIV>From:&nbsp;&nbsp;<I>Javier Estévez CIFA Córdoba &lt;javier.estevez.ext-***@public.gmane.org&gt;</I><BR>To:&nbsp;&nbsp;<I>"Alvaro Herrera" &lt;alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org&gt;</I><BR>CC:&nbsp;&nbsp;<I>"Jaime Casanova" &lt;systemguards-***@public.gmane.org&gt;,&lt;pgsql-es-ayuda-RDL/***@public.gmane.org&gt;</I><BR>Subject:&nbsp;&nbsp;<I>Re: [pgsql-es-ayuda] COUNT</I><BR>Date:&nbsp;&nbsp;<I>Wed, 1 Mar 2006 09:18:37 +0100</I><BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Cuando utilizo ON me devuelve el siguiente ERROR (he ejecutado la<BR>&gt;consulta que tú me has propuesto, por cierto, muchas gracias Álvaro)<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ERROR: column reference "IdProvincia" is ambiguous<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; El campo en las 2 tablas se llama así, "IdProvincia". No entiendo por<BR>&gt;qué d
entro del ON ocurre esto cuando en el WHERE no ocurría.<BR>&gt;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;
Alguna sugerencia/ayuda?<BR>&gt;<BR>&gt;----- Original Message -----<BR>&gt;From: "Alvaro Herrera" &lt;alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org&gt;<BR>&gt;To: "Javier Estévez CIFA Córdoba" &lt;javier.estevez.ext-***@public.gmane.org&gt;<BR>&gt;Cc: "Jaime Casanova" &lt;systemguards-***@public.gmane.org&gt;;<BR>&gt;&lt;pgsql-es-ayuda-RDL/***@public.gmane.org&gt;<BR>&gt;Sent: Monday, February 27, 2006 3:43 PM<BR>&gt;Subject: Re: [pgsql-es-ayuda] COUNT<BR>&gt;<BR>&gt;<BR>&gt;Javier Estévez CIFA Córdoba escribió:<BR>&gt; &gt; Tengo la siguiente consulta:<BR>&gt; &gt;<BR>&gt; &gt; SELECT "IdProvincia", "IdEstacion", count(*)<BR>&gt; &gt; FROM ria_day a JOIN ria_mes_avg_std b USING<BR>&gt;("IdProvincia","IdEstacion",mes)<BR>&gt; &gt; WHERE a."IdProvincia"=b."IdProvincia" AND a."IdEstacion"=b."IdEstacion"<BR>&gt;AND<BR>&gt; &gt; a.m
es=b.mes<BR>&gt; &gt; AND a."TempMax"&lt;b."TxAVGmes"-2.0*"TxSTDmes" OR<BR>&gt; &gt;
a."TempMax"&gt;b."TxAVGmes"+2.0*"TxSTDmes"<BR>&gt; &gt; GROUP by "IdProvincia", "IdEstacion"<BR>&gt; &gt; ORDER by&nbsp;&nbsp;"IdProvincia", int2("IdEstacion")<BR>&gt;<BR>&gt;Creo que seria algo asi<BR>&gt;<BR>&gt;&nbsp;&nbsp;SELECT "IdProvincia", "IdEstacion", count(*)<BR>&gt;&nbsp;&nbsp;FROM ria_day a LEFT JOIN ria_mes_avg_std b<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;ON (a."IdProvincia" = b."IdProvincia" AND<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a."IdEstacion" = b."IdEstacion" AND<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.mes = b.mes AND<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a."TempMax" BETWEEN b."TxAVGmes"-2.0*"TxSTDmes" AND<BR>&gt;b."TxAVGmes"+2.0*"TxSTDmes")<BR>&gt;&nbsp;&nbsp;GROUP by "IdProvincia", "IdEstacion"<BR>&gt;&nbsp;&nbsp;ORDER by&nbs
p;&nbsp;"IdProvincia", int2("IdEstacion")<BR>&gt;<BR>&gt;--<BR>&gt;Alvaro
Herrera&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.CommandPrompt.com/<BR>&gt;The PostgreSQL Company - Command Prompt, Inc.<BR>&gt;<BR>&gt;---------------------------(fin del mensaje)---------------------------<BR>&gt;TIP 9: el optimizador ignorará el uso de recorridos de índice si los<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tipos de datos de las columnas no coinciden<BR>&gt;<BR>&gt;<BR>&gt;---------------------------(fin del mensaje)---------------------------<BR>&gt;TIP 9: el optimizador ignorará el uso de recorridos de índice si los<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tipos de datos de las columnas
no coinciden<BR></FONT></BLOCKQUOTE></div><br clear=all><hr>MSN Amor <a href="http://g.msn.com/8HMAES/2752??PS=47575" target="_top">Busca tu ½ naranja</a> </html>
Javier Estévez CIFA Córdoba
2006-03-01 09:54:32 UTC
Permalink
Si, son exactamente iguales.
----- Original Message -----
From: Moko Verdoso
To: javier.estevez.ext-***@public.gmane.org
Cc: pgsql-es-ayuda-RDL/***@public.gmane.org
Sent: Wednesday, March 01, 2006 10:28 AM
Subject: Re: [pgsql-es-ayuda] COUNT


Has probado si las propiedades del campo son coincidentes??? puede ser que tenga distinto atributo no crees?




----------------------------------------------------------------------------

From: Javier Estévez CIFA Córdoba <javier.estevez.ext-***@public.gmane.org>
To: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
CC: "Jaime Casanova" <systemguards-***@public.gmane.org>,<pgsql-es-ayuda-RDL/***@public.gmane.org>
Subject: Re: [pgsql-es-ayuda] COUNT
Date: Wed, 1 Mar 2006 09:18:37 +0100
> 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-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
>To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
>Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
><pgsql-es-ayuda-RDL/***@public.gmane.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
Ubaldo Taladriz
2006-03-01 13:31:38 UTC
Permalink
El tema es más sencillo, el IdProvincia, es ambiguo porque está en las
dos tablas del join. Coloca a."IdProvincia" y tema resuelto.

Saludos

El mié, 01-03-2006 a las 10:54 +0100, Javier Estévez CIFA Córdoba
escribió:
> Si, son exactamente iguales.
> ----- Original Message -----
> From: Moko Verdoso
> To: javier.estevez.ext-***@public.gmane.org
> Cc: pgsql-es-ayuda-RDL/***@public.gmane.org
> Sent: Wednesday, March 01, 2006 10:28 AM
> Subject: Re: [pgsql-es-ayuda] COUNT
>
>
> Has probado si las propiedades del campo son coincidentes???
> puede ser que tenga distinto atributo no crees?
>
>
>
>
>
>
> ______________________________________________________
>
> From: Javier Estévez CIFA Córdoba
> <javier.estevez.ext-***@public.gmane.org>
> To: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
> CC: "Jaime Casanova"
> <systemguards-***@public.gmane.org>,<pgsql-es-ayuda-RDL/***@public.gmane.org>
> Subject: Re: [pgsql-es-ayuda] COUNT
> Date: Wed, 1 Mar 2006 09:18:37 +0100
> > 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-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
> >To: "Javier Estévez CIFA Córdoba"
> <javier.estevez.ext-***@public.gmane.org>
> >Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
> ><pgsql-es-ayuda-RDL/***@public.gmane.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
>
>
> ______________________________________________________________
> MSN Amor Busca tu ½ naranja
--
Ubaldo Taladriz
EXE Ingeniería
--------------------
http://www.exe.cl
Exe Ingeniería & Software Ltda.
Europa 1935 Providencia - Santiago
Código Postal : 750-0568
Tel (56-2) 2049366 Fax (56-2) 2040897
counter.linux.org #274593
Javier Estévez CIFA Córdoba
2006-03-01 11:11:40 UTC
Permalink
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.estevez.ext-***@public.gmane.org>
To: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.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-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.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
Alvaro Herrera
2006-03-01 13:46:41 UTC
Permalink
Javier Estévez CIFA Córdoba escribió:
> 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.

Quizas el left join esta mal planteado :-) A lo mejor las tablas estan
puestas al reves, o quizas simplemente no es ese el left join que debes
hacer sino que te falta un listado completo de todas las provincias y
estaciones.

Di, en la tabla ria_day aparecen todas las estaciones y provincias? O
solo aquellas que tienen datos? Y en la tabla ria_mes_avg_std?

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Javier Estévez CIFA Córdoba
2006-03-01 13:55:06 UTC
Permalink
En ambas tablas aparecen TODAS las estaciones y provincias.

----- Original Message -----
From: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Jaime Casanova" <systemguards-***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.org>
Sent: Wednesday, March 01, 2006 2:46 PM
Subject: Re: [pgsql-es-ayuda] COUNT


> Javier Estévez CIFA Córdoba escribió:
> > 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.
>
> Quizas el left join esta mal planteado :-) A lo mejor las tablas estan
> puestas al reves, o quizas simplemente no es ese el left join que debes
> hacer sino que te falta un listado completo de todas las provincias y
> estaciones.
>
> Di, en la tabla ria_day aparecen todas las estaciones y provincias? O
> solo aquellas que tienen datos? Y en la tabla ria_mes_avg_std?
>
> --
> Alvaro Herrera
http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.
Alvaro Herrera
2006-03-01 14:16:21 UTC
Permalink
Javier Estévez CIFA Córdoba escribió:
> En ambas tablas aparecen TODAS las estaciones y provincias.

Entonces no necesitas un outer join y tu problema es otro.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Jaime Casanova
2006-03-02 03:03:51 UTC
Permalink
On 3/1/06, Javier Estévez CIFA Córdoba
<javier.estevez.ext-***@public.gmane.org> wrote:
> Por fin he resuelto el problema del column reference "ambiguous".
>
> Esta la consulta correcta:
>
> SELECT b."IdProvincia", b."IdEstacion", count(*)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

definitivamente esto no es correcto...
e insisto en que count(*) no puede ser correcto en el contexto de LEFT
OUTER JOIN

quiza una subconsulta te sirva?

> 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.
>

quiza si dijeras la estrucutura de las tablas y dieras un ejemplo de
lo que quieres lograr te puedan ayudar mas...

--
Atentamente,
Jaime Casanova

"What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz
Javier Estévez CIFA Córdoba
2006-03-02 08:19:51 UTC
Permalink
Tengo 2 tablas, en una valores DIARIOS y en la OTRA media y desviación
típica de cada MES.

Tengo que chequear qué valores diarios (tabla a) están fuera de un rango
determinado (tabla b). Quiero que para cada Provincia y Estación, me
seleccione el número de valores fuera de ese RANGO.

----- Original Message -----
From: "Jaime Casanova" <systemguards-***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.org>
Sent: Thursday, March 02, 2006 4:03 AM
Subject: Re: [pgsql-es-ayuda] COUNT


On 3/1/06, Javier Estévez CIFA Córdoba
<javier.estevez.ext-***@public.gmane.org> wrote:
> Por fin he resuelto el problema del column reference "ambiguous".
>
> Esta la consulta correcta:
>
> SELECT b."IdProvincia", b."IdEstacion", count(*)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

definitivamente esto no es correcto...
e insisto en que count(*) no puede ser correcto en el contexto de LEFT
OUTER JOIN

quiza una subconsulta te sirva?

> 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.
>

quiza si dijeras la estrucutura de las tablas y dieras un ejemplo de
lo que quieres lograr te puedan ayudar mas...

--
Atentamente,
Jaime Casanova

"What they (MySQL) lose in usability, they gain back in benchmarks, and
that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz

---------------------------(fin del mensaje)---------------------------
TIP 7: no olvides aumentar la configuración del "free space map"
Douglas Escobar
2006-03-02 14:09:44 UTC
Permalink
Hola Lista.!
Como puedo saber que usuarios estan conectados a la DB desde el PGAdmin

Gracias
Espartano
2006-03-03 00:20:14 UTC
Permalink
On 3/2/06, Douglas Escobar <douglas-Y4TL16Tw/wbQT0dZR+***@public.gmane.org> wrote:
> Hola Lista.!
> Como puedo saber que usuarios estan conectados a la DB desde el PGAdmin
>

Tal vez te sirva hacer esta consulta:

plagas=# select current_user;
current_user
--------------
pgsql
(1 row)
Jaime Casanova
2006-03-03 04:40:13 UTC
Permalink
On 3/2/06, Javier Estévez CIFA Córdoba
<javier.estevez.ext-***@public.gmane.org> wrote:
> Tengo 2 tablas, en una valores DIARIOS y en la OTRA media y desviación
> típica de cada MES.
>
> Tengo que chequear qué valores diarios (tabla a) están fuera de un rango
> determinado (tabla b). Quiero que para cada Provincia y Estación, me
> seleccione el número de valores fuera de ese RANGO.
>

SELECT a."IdProvincia", a."IdEstacion", count(b.*)
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", b."IdEstacion"

deberia funcionar...


--
Atentamente,
Jaime Casanova

"What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz
Javier Estévez CIFA Córdoba
2006-03-06 10:49:54 UTC
Permalink
GRACIAS...

----- Original Message -----
From: "Jaime Casanova" <systemguards-***@public.gmane.org>
To: "Javier Estévez CIFA Córdoba" <javier.estevez.ext-***@public.gmane.org>
Cc: "Alvaro Herrera" <alvherre-UrU3iCXxUysMNcg9MzyYcQC/***@public.gmane.org>;
<pgsql-es-ayuda-RDL/***@public.gmane.org>
Sent: Friday, March 03, 2006 5:40 AM
Subject: Re: COUNT


On 3/2/06, Javier Estévez CIFA Córdoba
<javier.estevez.ext-***@public.gmane.org> wrote:
> Tengo 2 tablas, en una valores DIARIOS y en la OTRA media y desviación
> típica de cada MES.
>
> Tengo que chequear qué valores diarios (tabla a) están fuera de un
rango
> determinado (tabla b). Quiero que para cada Provincia y Estación, me
> seleccione el número de valores fuera de ese RANGO.
>

SELECT a."IdProvincia", a."IdEstacion", count(b.*)
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", b."IdEstacion"

deberia funcionar...


--
Atentamente,
Jaime Casanova

"What they (MySQL) lose in usability, they gain back in benchmarks, and
that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz
raguirre-DrYzkM4VgYUBpBkYPjTMTiYViR+
2006-03-02 10:05:43 UTC
Permalink
Amigos de la lista les agradezco me den una ayuda al sgte problema q tengo:
Tengo instalado mi BD en un servidor con Windows2003 server
El pg_hba.conf archivo de configuracion para que determine las ips de las
cuales se pueden conectar a la bd, lo he colocado de la sgte forma

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:
host all all 192.168.0.0/24 md5
host all all 127.0.0.1/32 md5

Al intentar conectarme de una maquina cliente me sale el sgte error:
2006-03-02 05:17:56 FATAL: no pg_hba.conf entry for host "192.168.1.2",
user "postgres", database "postgres", SSL off

podria colocar el ip especifico 192.168.1.2 y funcionaria pero el problema es
que la red es con ips dinamicos y por lo tanto no seria optimo, como puedo
hacer para que me tome todo el rango de ips que podria conectarse?
Alvaro Herrera
2006-03-02 10:45:45 UTC
Permalink
raguirre-DrYzkM4VgYUBpBkYPjTMTiYViR+***@public.gmane.org escribió:
> Amigos de la lista les agradezco me den una ayuda al sgte problema q tengo:
> Tengo instalado mi BD en un servidor con Windows2003 server
> El pg_hba.conf archivo de configuracion para que determine las ips de las
> cuales se pueden conectar a la bd, lo he colocado de la sgte forma
>
> # TYPE DATABASE USER CIDR-ADDRESS METHOD
>
> # IPv4 local connections:
> host all all 192.168.0.0/24 md5
> host all all 127.0.0.1/32 md5
>
> Al intentar conectarme de una maquina cliente me sale el sgte error:
> 2006-03-02 05:17:56 FATAL: no pg_hba.conf entry for host "192.168.1.2",
> user "postgres", database "postgres", SSL off

Agrega esta linea:

host all all 192.168.1.0/24 md5

O bien cambia la primera linea por esta otra:

host all all 192.168.0.0/16 md5

Si no entiendes cual es la diferencia, te sugiero que le pidas a alguien
que te explique como funcionan las mascaras de red.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Raúl Mero
2006-03-02 13:55:28 UTC
Permalink
raguirre-DrYzkM4VgYUBpBkYPjTMTiYViR+***@public.gmane.org escribió:

>Amigos de la lista les agradezco me den una ayuda al sgte problema q tengo:
>Tengo instalado mi BD en un servidor con Windows2003 server
>El pg_hba.conf archivo de configuracion para que determine las ips de las
>cuales se pueden conectar a la bd, lo he colocado de la sgte forma
>
># TYPE DATABASE USER CIDR-ADDRESS METHOD
>
># IPv4 local connections:
>host all all 192.168.0.0/24 md5
>host all all 127.0.0.1/32 md5
>
>Al intentar conectarme de una maquina cliente me sale el sgte error:
>2006-03-02 05:17:56 FATAL: no pg_hba.conf entry for host "192.168.1.2",
>user "postgres", database "postgres", SSL off
>
>podria colocar el ip especifico 192.168.1.2 y funcionaria pero el problema es
>que la red es con ips dinamicos y por lo tanto no seria optimo, como puedo
>hacer para que me tome todo el rango de ips que podria conectarse?
>
>---------------------------(fin del mensaje)---------------------------
>TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
>
>
>
HOLA ME LLAMO RAUL LISTA SABEN TUVE EL MISMO PROBLEMA NO SE COMO
REMEDIAR ALGO PARECIDO SI ME PUEDEN AYUDAR

YO INSTALE LA BASE PGRSQL BAJO WINDOWS PERO AL MOMENTO DE CONECTARME CON
PHP SOLO ME CONECTO INVOCANDO AL SERVIDOR LOCALHOST, YO TENGO UNA RED YA
ESTABLECIDA BAJO EL 192.168.0.0/24 PERO NO SE COMO CONECTARME CON LA IP
DE LA MAQUINA SERVIDOR, NI CON EL NOMBRE LO LOGRO Y ESO QUE MANEJO DNS
EN MI RED Y QUE RESULVE LOS NOSBRES AL MOMNNETO DE HACER PING

ME PUEDEN AYUDAR HABER SI SE ME OLVIDO CONFIGURAR ALGO EN EL pg_hba.conf

GRACIAS.. RAUL MERO (ECUADOR)
Mario Gonzalez
2006-03-02 14:03:34 UTC
Permalink
On 02/03/06, Raúl Mero <***@marzam-online.com> wrote:
> ***@infonegocio.net.pe escribió:
>
> >Amigos de la lista les agradezco me den una ayuda al sgte problema q tengo:
> >Tengo instalado mi BD en un servidor con Windows2003 server
> >El pg_hba.conf archivo de configuracion para que determine las ips de las
> >cuales se pueden conectar a la bd, lo he colocado de la sgte forma
> >
> ># TYPE DATABASE USER CIDR-ADDRESS METHOD
> >
> ># IPv4 local connections:
> >host all all 192.168.0.0/24 md5
> >host all all 127.0.0.1/32 md5
> >
> >Al intentar conectarme de una maquina cliente me sale el sgte error:
> >2006-03-02 05:17:56 FATAL: no pg_hba.conf entry for host "192.168.1.2",
> >user "postgres", database "postgres", SSL off
> >
> >podria colocar el ip especifico 192.168.1.2 y funcionaria pero el problema es
> >que la red es con ips dinamicos y por lo tanto no seria optimo, como puedo
> >hacer para que me tome todo el rango de ips que podria conectarse?
> >
> >
> HOLA ME LLAMO RAUL LISTA SABEN TUVE EL MISMO PROBLEMA NO SE COMO
> REMEDIAR ALGO PARECIDO SI ME PUEDEN AYUDAR
>
> YO INSTALE LA BASE PGRSQL BAJO WINDOWS PERO AL MOMENTO DE CONECTARME CON
> PHP SOLO ME CONECTO INVOCANDO AL SERVIDOR LOCALHOST, YO TENGO UNA RED YA
> ESTABLECIDA BAJO EL 192.168.0.0/24 PERO NO SE COMO CONECTARME CON LA IP
> DE LA MAQUINA SERVIDOR, NI CON EL NOMBRE LO LOGRO Y ESO QUE MANEJO DNS
> EN MI RED Y QUE RESULVE LOS NOSBRES AL MOMNNETO DE HACER PING
>
> ME PUEDEN AYUDAR HABER SI SE ME OLVIDO CONFIGURAR ALGO EN EL pg_hba.conf
>

La maquina donde esta instalado PHP y PostgreSQL es la misma??


> GRACIAS.. RAUL MERO (ECUADOR)
>
deepthroat
2006-03-02 14:10:11 UTC
Permalink
On 3/2/06, Mario Gonzalez <***@gmail.com> wrote:
> On 02/03/06, Raúl Mero <***@marzam-online.com> wrote:
> > ***@infonegocio.net.pe escribió:
> >
> > >Amigos de la lista les agradezco me den una ayuda al sgte problema q tengo:
> > >Tengo instalado mi BD en un servidor con Windows2003 server
> > >El pg_hba.conf archivo de configuracion para que determine las ips de las
> > >cuales se pueden conectar a la bd, lo he colocado de la sgte forma
> > >
> > ># TYPE DATABASE USER CIDR-ADDRESS METHOD
> > >
> > ># IPv4 local connections:
> > >host all all 192.168.0.0/24 md5
> > >host all all 127.0.0.1/32 md5
> > >
> > >Al intentar conectarme de una maquina cliente me sale el sgte error:
> > >2006-03-02 05:17:56 FATAL: no pg_hba.conf entry for host "192.168.1.2",
> > >user "postgres", database "postgres", SSL off
> > >
> > >podria colocar el ip especifico 192.168.1.2 y funcionaria pero el problema es
> > >que la red es con ips dinamicos y por lo tanto no seria optimo, como puedo
> > >hacer para que me tome todo el rango de ips que podria conectarse?
> > >
> > >
> > HOLA ME LLAMO RAUL LISTA SABEN TUVE EL MISMO PROBLEMA NO SE COMO
> > REMEDIAR ALGO PARECIDO SI ME PUEDEN AYUDAR
> >
> > YO INSTALE LA BASE PGRSQL BAJO WINDOWS PERO AL MOMENTO DE CONECTARME CON
> > PHP SOLO ME CONECTO INVOCANDO AL SERVIDOR LOCALHOST, YO TENGO UNA RED YA
> > ESTABLECIDA BAJO EL 192.168.0.0/24 PERO NO SE COMO CONECTARME CON LA IP
> > DE LA MAQUINA SERVIDOR, NI CON EL NOMBRE LO LOGRO Y ESO QUE MANEJO DNS
> > EN MI RED Y QUE RESULVE LOS NOSBRES AL MOMNNETO DE HACER PING
> >
> > ME PUEDEN AYUDAR HABER SI SE ME OLVIDO CONFIGURAR ALGO EN EL pg_hba.conf
> >
>
> La maquina donde esta instalado PHP y PostgreSQL es la misma??
>
>
> > GRACIAS.. RAUL MERO (ECUADOR)
> >
> >
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 7: no olvides aumentar la configuraci�n del "free space map"
>

Edita el archivo postgresql.conf
y modifica la siguiente variable:

listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addres
# defaults to 'localho

recarga la configuracion e intenta nuevamente.

Saludos
--
Profesio
Juan Martínez
2006-03-02 16:50:54 UTC
Permalink
El jue, 02-03-2006 a las 11:10 -0300, deepthroat escribió:

[...]

> Edita el archivo postgresql.conf
> y modifica la siguiente variable:
>
> listen_addresses = '*' # what IP address(es) to listen on;
> # comma-separated list of addres
> # defaults to 'localho
>

Mala idea. Si el ORDBMS tiene mecanismos eficientes de seguridad, mejor
usarlos.

Atte.
Juan Martínez
Depto. Inf.
UMC
Raúl Mero
2006-03-02 16:27:33 UTC
Permalink
es la misma maquina pero le coloco el * como me dijo el amigo pero nada
solo meconecto con el pg_conect() invocando el localhost no me funcioan
colocando la IP o el nombre de la maquina
Juan Martínez
2006-03-02 16:48:50 UTC
Permalink
El jue, 02-03-2006 a las 08:55 -0500, Raúl Mero escribió:
> raguirre-DrYzkM4VgYUBpBkYPjTMTiYViR+***@public.gmane.org escribió:
>
> >Amigos de la lista les agradezco me den una ayuda al sgte problema q tengo:
> >Tengo instalado mi BD en un servidor con Windows2003 server
> >El pg_hba.conf archivo de configuracion para que determine las ips de las
> >cuales se pueden conectar a la bd, lo he colocado de la sgte forma
> >
> ># TYPE DATABASE USER CIDR-ADDRESS METHOD
> >
> ># IPv4 local connections:
> >host all all 192.168.0.0/24 md5
> >host all all 127.0.0.1/32 md5
> >
> >Al intentar conectarme de una maquina cliente me sale el sgte error:
> >2006-03-02 05:17:56 FATAL: no pg_hba.conf entry for host "192.168.1.2",
> >user "postgres", database "postgres", SSL off

Claro, estas diciendo que tiene acceso desde 192.168.0.1 hasta
192.168.0.254

> >
> >podria colocar el ip especifico 192.168.1.2 y funcionaria pero el problema es
> >que la red es con ips dinamicos y por lo tanto no seria optimo,

Exacto.

> como puedo
> >hacer para que me tome todo el rango de ips que podria conectarse?

1. Entender que son las mascaras de red. Hay infinidad de documentos
sobre esto en la red (Recuerda que Google es tu amigo). Pero si tienes a
alguien cerca que te lo pueda explicar con peras y manzanas, cuanto
mejor.

2. Acotar el rango. Si solo vas a tener conexiones desde 192.168.1.0/24
(o 192.168.1.0/255.255.255.0), entonces decir que ese rango solo tenga
acceso a Postgres. Creo que haciendo ese cambio en tu caso la cosa se
arregla. Ahora si tienes 2 subredes de 192.168. , entonces usar la
mascara /16 (o 255.255.0.0).

> HOLA ME LLAMO RAUL LISTA SABEN TUVE EL MISMO PROBLEMA NO SE COMO
> REMEDIAR ALGO PARECIDO SI ME PUEDEN AYUDAR
>
> YO INSTALE LA BASE PGRSQL BAJO WINDOWS PERO AL MOMENTO DE CONECTARME CON
> PHP SOLO ME CONECTO INVOCANDO AL SERVIDOR LOCALHOST, YO TENGO UNA RED YA
> ESTABLECIDA BAJO EL 192.168.0.0/24 PERO NO SE COMO CONECTARME CON LA IP
> DE LA MAQUINA SERVIDOR, NI CON EL NOMBRE LO LOGRO Y ESO QUE MANEJO DNS
> EN MI RED Y QUE RESULVE LOS NOSBRES AL MOMNNETO DE HACER PING
>
> ME PUEDEN AYUDAR HABER SI SE ME OLVIDO CONFIGURAR ALGO EN EL pg_hba.conf
>
> GRACIAS.. RAUL MERO (ECUADOR)

Antes que todo, me debes una caja de aspirinas para el dolor de cabeza
con tanto griterio que diste (sino no sabes a que me refiero, busca
netiquette en google).

No conozco PGR (suena como a PLR, que es otra cosa... :D )

Luego, si no vas a ser un aporte (o dar una respuesta) al tema
propuesto, y ademas tambien tienes la misma duda que se ha planteado, no
es necesario replantearla (gasto de bits). Basta con que esperes las
respuestas. No van a llegar mas respuestas por que replantees lo mismo.

Atte.
Juan Martínez
Depto. Inf.
UMC
Juan Martínez
2006-03-02 17:18:11 UTC
Permalink
El jue, 02-03-2006 a las 12:04 -0500, Raúl Mero escribió:
> Juan Martínez escribió:
>
> >El jue, 02-03-2006 a las 08:55 -0500, Raúl Mero escribió:
> >>HOLA ME LLAMO RAUL LISTA SABEN TUVE EL MISMO PROBLEMA NO SE COMO
> >>REMEDIAR ALGO PARECIDO SI ME PUEDEN AYUDAR
> >>
> >>YO INSTALE LA BASE PGRSQL BAJO WINDOWS PERO AL MOMENTO DE CONECTARME CON
> >>PHP SOLO ME CONECTO INVOCANDO AL SERVIDOR LOCALHOST, YO TENGO UNA RED YA
> >>ESTABLECIDA BAJO EL 192.168.0.0/24 PERO NO SE COMO CONECTARME CON LA IP
> >>DE LA MAQUINA SERVIDOR, NI CON EL NOMBRE LO LOGRO Y ESO QUE MANEJO DNS
> >>EN MI RED Y QUE RESULVE LOS NOSBRES AL MOMNNETO DE HACER PING
> >>
> >>ME PUEDEN AYUDAR HABER SI SE ME OLVIDO CONFIGURAR ALGO EN EL pg_hba.conf
> >>
> >>GRACIAS.. RAUL MERO (ECUADOR)
> >>
> >>
> >
> >Antes que todo, me debes una caja de aspirinas para el dolor de cabeza
> >con tanto griterio que diste (sino no sabes a que me refiero, busca
> >netiquette en google).
> >
> >No conozco PGR (suena como a PLR, que es otra cosa... :D )
> >
> >Luego, si no vas a ser un aporte (o dar una respuesta) al tema
> >propuesto, y ademas tambien tienes la misma duda que se ha planteado, no
> >es necesario replantearla (gasto de bits). Basta con que esperes las
> >respuestas. No van a llegar mas respuestas por que replantees lo mismo.
> >
> es PRGSQL = POSTGRESQL BESTIA
^^^^^^
Por favor!
Ofensas, mas encima en privado me parecen una actitud al menos cobarde.
Mi direccion de email no es de uso publico.


Atte.
Juan Martínez
Depto. Inf.
UMC
Raúl Mero
2006-03-02 17:41:51 UTC
Permalink
Juan Martínez escribió:

>El jue, 02-03-2006 a las 12:04 -0500, Raúl Mero escribió:
>
>
>>Juan Martínez escribió:
>>
>>
>>
>>>El jue, 02-03-2006 a las 08:55 -0500, Raúl Mero escribió:
>>>
>>>
>>>>HOLA ME LLAMO RAUL LISTA SABEN TUVE EL MISMO PROBLEMA NO SE COMO
>>>>REMEDIAR ALGO PARECIDO SI ME PUEDEN AYUDAR
>>>>
>>>>YO INSTALE LA BASE PGRSQL BAJO WINDOWS PERO AL MOMENTO DE CONECTARME CON
>>>>PHP SOLO ME CONECTO INVOCANDO AL SERVIDOR LOCALHOST, YO TENGO UNA RED YA
>>>>ESTABLECIDA BAJO EL 192.168.0.0/24 PERO NO SE COMO CONECTARME CON LA IP
>>>>DE LA MAQUINA SERVIDOR, NI CON EL NOMBRE LO LOGRO Y ESO QUE MANEJO DNS
>>>>EN MI RED Y QUE RESULVE LOS NOSBRES AL MOMNNETO DE HACER PING
>>>>
>>>>ME PUEDEN AYUDAR HABER SI SE ME OLVIDO CONFIGURAR ALGO EN EL pg_hba.conf
>>>>
>>>>GRACIAS.. RAUL MERO (ECUADOR)
>>>>
>>>>
>>>>
>>>>
>>>Antes que todo, me debes una caja de aspirinas para el dolor de cabeza
>>>con tanto griterio que diste (sino no sabes a que me refiero, busca
>>>netiquette en google).
>>>
>>>No conozco PGR (suena como a PLR, que es otra cosa... :D )
>>>
>>>Luego, si no vas a ser un aporte (o dar una respuesta) al tema
>>>propuesto, y ademas tambien tienes la misma duda que se ha planteado, no
>>>es necesario replantearla (gasto de bits). Basta con que esperes las
>>>respuestas. No van a llegar mas respuestas por que replantees lo mismo.
>>>
>>>
>>>
>>es PRGSQL = POSTGRESQL BESTIA
>>
>>
> ^^^^^^
>Por favor!
>Ofensas, mas encima en privado me parecen una actitud al menos cobarde.
>Mi direccion de email no es de uso publico.
>
>
>Atte.
>Juan Martínez
>Depto. Inf.
>UMC
>
>
>---------------------------(fin del mensaje)---------------------------
>TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
>
>
>
lo que dije no es ofensa eso te lo dice cualquier ecuatoriano cuando se
encuentra una personas que se quiere pasar de sobervia
please mas humildad "señor"
Juan Martínez
2006-03-02 18:00:09 UTC
Permalink
El jue, 02-03-2006 a las 12:41 -0500, Raúl Mero escribió:
> Juan Martínez escribió:
>
> >El jue, 02-03-2006 a las 12:04 -0500, Raúl Mero escribió:
> >
> >
> >>Juan Martínez escribió:
> >>
> >>
> >>
> >>>El jue, 02-03-2006 a las 08:55 -0500, Raúl Mero escribió:
> >>>
> >>>
> >>>>HOLA ME LLAMO RAUL LISTA SABEN TUVE EL MISMO PROBLEMA NO SE COMO
> >>>>REMEDIAR ALGO PARECIDO SI ME PUEDEN AYUDAR
> >>>>
> >>>>YO INSTALE LA BASE PGRSQL BAJO WINDOWS PERO AL MOMENTO DE CONECTARME CON
> >>>>PHP SOLO ME CONECTO INVOCANDO AL SERVIDOR LOCALHOST, YO TENGO UNA RED YA
> >>>>ESTABLECIDA BAJO EL 192.168.0.0/24 PERO NO SE COMO CONECTARME CON LA IP
> >>>>DE LA MAQUINA SERVIDOR, NI CON EL NOMBRE LO LOGRO Y ESO QUE MANEJO DNS
> >>>>EN MI RED Y QUE RESULVE LOS NOSBRES AL MOMNNETO DE HACER PING
> >>>>
> >>>>ME PUEDEN AYUDAR HABER SI SE ME OLVIDO CONFIGURAR ALGO EN EL pg_hba.conf
> >>>>
> >>>>GRACIAS.. RAUL MERO (ECUADOR)
> >>>>
> >>>>
> >>>>
> >>>>
> >>>Antes que todo, me debes una caja de aspirinas para el dolor de cabeza
> >>>con tanto griterio que diste (sino no sabes a que me refiero, busca
> >>>netiquette en google).
> >>>
> >>>No conozco PGR (suena como a PLR, que es otra cosa... :D )
> >>>
> >>>Luego, si no vas a ser un aporte (o dar una respuesta) al tema
> >>>propuesto, y ademas tambien tienes la misma duda que se ha planteado, no
> >>>es necesario replantearla (gasto de bits). Basta con que esperes las
> >>>respuestas. No van a llegar mas respuestas por que replantees lo mismo.
> >>>
> >>>
> >>>
> >>es PRGSQL = POSTGRESQL BESTIA
> >>
> >>
> > ^^^^^^
> >Por favor!
> >Ofensas, mas encima en privado me parecen una actitud al menos cobarde.
> >Mi direccion de email no es de uso publico.
> >
> >
> >Atte.
> >Juan Martínez
> >Depto. Inf.
> >UMC
> >
> >
> >---------------------------(fin del mensaje)---------------------------
> >TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
> >
> >
> >
> lo que dije no es ofensa eso te lo dice cualquier ecuatoriano cuando se
> encuentra una personas que se quiere pasar de sobervia
> please mas humildad "señor"

1. Esta no es una lista de ecuatorianos. Somos de varios paises de habla
hispana, y hay que ser muy cuidadosos con los modismos y localismos que
naturalmente no en todos lados se entienden de igual forma. Según tu
razocinio, entonces yo te puedo decir de cualquier forma como dicen en
mi pais, y despues de deshago de lo dicho aludiendo a que es modismo. No
es excusa.

2. Lo que a ti te hace suponer de sobervia sobre mi persona, lo puedo
suponer de tu actitud cobarde al enviarme un correo en forma privada.

No tiene nada de sobervio ser especifico en las nomenclaturas. El
tecnicismo es lo que hace avanzar a las comunidades en el conocimiento.
Y como debes saber, para un compilador no es lo mismo MOVE, que MOVES.
Entonces hacer una especificacion no está demas, en una de esas existe
un PGRSQL, que va a saber uno.

El resto, es netiquette, lectura obligatoria.

Atte.
Juan Martínez
Depto. Inf.
Juan Martínez
2006-03-02 21:44:30 UTC
Permalink
El jue, 02-03-2006 a las 16:15 -0500, Raúl Mero escribió:
> Juan Martínez escribió:
> >
> >1. Esta no es una lista de ecuatorianos. Somos de varios paises de habla
> >hispana, y hay que ser muy cuidadosos con los modismos y localismos que
> >naturalmente no en todos lados se entienden de igual forma. Según tu
> >razocinio, entonces yo te puedo decir de cualquier forma como dicen en
> >mi pais, y despues de deshago de lo dicho aludiendo a que es modismo. No
> >es excusa.
> >
> >2. Lo que a ti te hace suponer de sobervia sobre mi persona, lo puedo
> >suponer de tu actitud cobarde al enviarme un correo en forma privada.
> >
> >No tiene nada de sobervio ser especifico en las nomenclaturas. El
> >tecnicismo es lo que hace avanzar a las comunidades en el conocimiento.
> >Y como debes saber, para un compilador no es lo mismo MOVE, que MOVES.
> >Entonces hacer una especificacion no está demas, en una de esas existe
> >un PGRSQL, que va a saber uno.
> >
> >El resto, es netiquette, lectura obligatoria.
> >
> >Atte.
> >Juan Martínez
> >Depto. Inf.
> >
> >
> >
> ajajajajajajajajajaajajajjaa ññe ññe ñña ñña
> a llorar a otro lado men

Veo que insistes en tu demostración de incultura de convivencia
comunitaria que posees.

Señor moderador, este miembro insiste en enviarme correos ofensivos en
forma personal y privada (sin copia a la lista).
Solicito su baja.

Atte
Juan Martínez
Depto. Inf
UMC
Raúl Mero
2006-03-02 22:25:31 UTC
Permalink
Juan Martínez escribió:

>El jue, 02-03-2006 a las 16:15 -0500, Raúl Mero escribió:
>
>
>>Juan Martínez escribió:
>>
>>
>>>1. Esta no es una lista de ecuatorianos. Somos de varios paises de habla
>>>hispana, y hay que ser muy cuidadosos con los modismos y localismos que
>>>naturalmente no en todos lados se entienden de igual forma. Según tu
>>>razocinio, entonces yo te puedo decir de cualquier forma como dicen en
>>>mi pais, y despues de deshago de lo dicho aludiendo a que es modismo. No
>>>es excusa.
>>>
>>>2. Lo que a ti te hace suponer de sobervia sobre mi persona, lo puedo
>>>suponer de tu actitud cobarde al enviarme un correo en forma privada.
>>>
>>>No tiene nada de sobervio ser especifico en las nomenclaturas. El
>>>tecnicismo es lo que hace avanzar a las comunidades en el conocimiento.
>>>Y como debes saber, para un compilador no es lo mismo MOVE, que MOVES.
>>>Entonces hacer una especificacion no está demas, en una de esas existe
>>>un PGRSQL, que va a saber uno.
>>>
>>>El resto, es netiquette, lectura obligatoria.
>>>
>>>Atte.
>>>Juan Martínez
>>>Depto. Inf.
>>>
>>>
>>>
>>>
>>>
>>ajajajajajajajajajaajajajjaa ññe ññe ñña ñña
>>a llorar a otro lado men
>>
>>
>
>Veo que insistes en tu demostración de incultura de convivencia
>comunitaria que posees.
>
>Señor moderador, este miembro insiste en enviarme correos ofensivos en
>forma personal y privada (sin copia a la lista).
>Solicito su baja.
>
>Atte
>Juan Martínez
>Depto. Inf
>UMC
>
>
>---------------------------(fin del mensaje)---------------------------
>TIP 2: puedes desuscribirte de todas las listas simultï¿œneamente
> (envï¿œe "unregister TuDirecciï¿œnDeCorreo" a majordomo-RDL/***@public.gmane.org)
>
>
>
ya pues hermano dedicate a leer o responder mensajes, dichoso por terner
el internet solo para eso hummm

Raul Mero
Espartano
2006-03-02 17:41:34 UTC
Permalink
> HOLA ME LLAMO RAUL LISTA SABEN TUVE EL MISMO PROBLEMA NO SE COMO
> REMEDIAR ALGO PARECIDO SI ME PUEDEN AYUDAR
>
> YO INSTALE LA BASE PGRSQL BAJO WINDOWS PERO AL MOMENTO DE CONECTARME CON
> PHP SOLO ME CONECTO INVOCANDO AL SERVIDOR LOCALHOST, YO TENGO UNA RED YA
> ESTABLECIDA BAJO EL 192.168.0.0/24 PERO NO SE COMO CONECTARME CON LA IP
> DE LA MAQUINA SERVIDOR, NI CON EL NOMBRE LO LOGRO Y ESO QUE MANEJO DNS
> EN MI RED Y QUE RESULVE LOS NOSBRES AL MOMNNETO DE HACER PING
>
> ME PUEDEN AYUDAR HABER SI SE ME OLVIDO CONFIGURAR ALGO EN EL pg_hba.conf
>
> GRACIAS.. RAUL MERO (ECUADOR)
>
>

Seguramente te falto poner la mascara de red para la ip desde la cual
te quieres conectar, hace unos minutos tuve que levantar un servidor
de postgres sobre windows y deje una linea de pg_hba.conf asi:

host all all 192.168.1.80 trust

y me daba el siguiente error en el log:

2006-03-02 09:21:14 FATAL: missing or erroneous pg_hba.conf file
2006-03-02 09:21:14 HINT: See server log for details.
2006-03-02 09:21:15 LOG: invalid IP mask "trust" in file "C:/Archivos
de prog ............

todo se remedio agregando la mascara de red correspondiente a la
linea, olvide ponerla y eso no me dejaba conectar.
Edwin Quijada
2006-03-02 14:48:00 UTC
Permalink
>From: raguirre-DrYzkM4VgYUBpBkYPjTMTiYViR+***@public.gmane.org
>To: pgsql-es-ayuda-RDL/***@public.gmane.org
>CC: atark-/***@public.gmane.org
>Subject: [pgsql-es-ayuda] Problema en accesos a BD del Servidor
>Date: Thu, 2 Mar 2006 05:05:43 -0500
>
>Amigos de la lista les agradezco me den una ayuda al sgte problema q tengo:
>Tengo instalado mi BD en un servidor con Windows2003 server
>El pg_hba.conf archivo de configuracion para que determine las ips de las
>cuales se pueden conectar a la bd, lo he colocado de la sgte forma
>
># TYPE DATABASE USER CIDR-ADDRESS METHOD
>
># IPv4 local connections:
>host all all 192.168.0.0/24 md5
>host all all 127.0.0.1/32 md5

host all all 192.168.1.0/24 md5
Creo que debeirai ser asi.



>
>Al intentar conectarme de una maquina cliente me sale el sgte error:
>2006-03-02 05:17:56 FATAL: no pg_hba.conf entry for host "192.168.1.2",
>user "postgres", database "postgres", SSL off
>
>podria colocar el ip especifico 192.168.1.2 y funcionaria pero el problema
>es
>que la red es con ips dinamicos y por lo tanto no seria optimo, como puedo
>hacer para que me tome todo el rango de ips que podria conectarse?
>
>---------------------------(fin del mensaje)---------------------------
>TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

_________________________________________________________________
Visita MSN Latino Noticias: Todo lo que pasa en el mundo y en tu paín, ¡en
tu idioma! http://latino.msn.com/noticias/
Gunnar Wolf
2006-03-04 12:53:51 UTC
Permalink
Javier Estévez CIFA Córdoba dijo [Mon, Feb 27, 2006 at 09:11:29AM +0100]:
> Es posible que al realizar un count(*) me devuelva el valor 0 cuando corresponda?
>
> Cómo puedo hacerlo?

Supongo que te refieres a tablas relacionadas - Usa un OUTER JOIN,
esto indica a Postgres que te interesan los casos donde hay valores
nulos en la tabla referida:

bd=>SELECT p.id, count(a.person_id) FROM person p LEFT OUTER JOIN authors
a ON p.id=a.person_id GROUP BY p.id;
id | count
----+-------
1 | 2
2 | 2
3 | 2
4 | 0
5 | 1
7 | 0
9 | 0
(7 rows)

Saludos,

--
Gunnar Wolf - gwolf-***@public.gmane.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
Javier Basisty
2006-03-04 13:57:57 UTC
Permalink
Hola, queria saber si alguien me puede orientar en como puedo hacer para
trabajar con Postgresql desde tcl. Hasta el momento estaba utilizando
mysql como db, con la libreria mysqltcl, pero obviamente me interesa
muchisimo la potencia de Postgresql. He leido por ahi que esta la
libreria pgtcl, incluida en todas las distros de tcl... Ahora bien,
alguien sabe usarla? Manuales, tutoriales, algo para ir aprendiendo?

Saludos

--
http://www.fastmail.fm - Accessible with your email software
or over the web
Alvaro Herrera
2006-03-04 14:29:50 UTC
Permalink
Hola, primero que nada por favor no uses un thread relacionado con un
topico para hacer una pregunta sobre un topico diferente. Crea un
mensaje nuevo, con un "Subject" (asunto) relacionado con el cuerpo del
mensaje, y sin "Responder" a un mensaje anterior. He cambiado el
"asunto" de acuerdo con el topico de este thread. Con respecto a tu
pregunta:

Javier Basisty escribió:
> Hola, queria saber si alguien me puede orientar en como puedo hacer para
> trabajar con Postgresql desde tcl. Hasta el momento estaba utilizando
> mysql como db, con la libreria mysqltcl, pero obviamente me interesa
> muchisimo la potencia de Postgresql. He leido por ahi que esta la
> libreria pgtcl, incluida en todas las distros de tcl... Ahora bien,
> alguien sabe usarla? Manuales, tutoriales, algo para ir aprendiendo?

pgtcl vive en gborg.postgresql.org. Hay un PDF de la documentacion
aqui:

http://gborg.postgresql.org/cgi-bin/cvsweb.cgi/~checkout~/libpgtcl/doc/libpgtcl.pdf?rev=1.7;content-type=application%2Fpdf;cvsroot=pgtcl

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Juan Carlos Badillo Goy
2006-03-06 16:18:35 UTC
Permalink
Saludos a todos los listeros...

Necesito ayuda con la siguiente sentencia para actualizar un campo con el
valor que tenía + algo más.

ejemplo:

UPDATE tabla1
SET tabla1.eliminado = (SELECT a.eliminado + 2 FROM tabla1 a WHERE
a.id_usuario = 2)
WHERE tabla1.id_usuario = 2


Gracias...
Alvaro Herrera
2006-03-06 15:23:43 UTC
Permalink
Juan Carlos Badillo Goy escribió:
> Saludos a todos los listeros...
>
> Necesito ayuda con la siguiente sentencia para actualizar un campo con el
> valor que tenía + algo más.
>
> ejemplo:
>
> UPDATE tabla1
> SET tabla1.eliminado = (SELECT a.eliminado + 2 FROM tabla1 a WHERE
> a.id_usuario = 2)
> WHERE tabla1.id_usuario = 2

Ugh :-(

update tabla1 set eliminado = eliminado + 2 where id_usuario = 2

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Juan Martínez
2006-03-04 17:54:30 UTC
Permalink
> Hola, queria saber si alguien me puede orientar en como puedo hacer para
> trabajar con Postgresql desde tcl. Hasta el momento estaba utilizando
> mysql como db, con la libreria mysqltcl, pero obviamente me interesa
> muchisimo la potencia de Postgresql. He leido por ahi que esta la
> libreria pgtcl, incluida en todas las distros de tcl... Ahora bien,
> alguien sabe usarla? Manuales, tutoriales, algo para ir aprendiendo?

Un simple googoleo, me arrojo esta dir
http://mmc.igeofcu.unam.mx/Replicas/LuCAS/Postgresql-es/web/navegable/programmer/pgtcl.html

Espero te ayude.

Atte.
Juan Martínez
Depto. Inf.
UMC
Loading...