Re: SELECT

From: "manuel lamas" <manuel3w(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: SELECT
Date: 2007-08-16 18:45:43
Message-ID: BAY108-F187B96787CEE9463657A3495DF0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

>From: Miguel Ortega <mortega(at)tc(dot)com(dot)ve>
>Reply-To: mortega(at)tc(dot)com(dot)ve
>To: manuel lamas <manuel3w(at)hotmail(dot)com>
>Subject: Re: [pgsql-es-ayuda] SELECT
>Date: Thu, 16 Aug 2007 13:43:42 -0400
>
>manuel lamas escribió:
>>
>>
>>
>>>From: Miguel Ortega <mortega(at)tc(dot)com(dot)ve>
>>>Reply-To: mortega(at)tc(dot)com(dot)ve
>>>To: pgsql-es-ayuda(at)postgresql(dot)org
>>>Subject: Re: [pgsql-es-ayuda] SELECT
>>>Date: Thu, 16 Aug 2007 10:05:55 -0400
>>>
>>>Hola de nuevo!
>>>Que mal vicio de escribir sin probar :D
>>>>
>>>>SELECT * FROM T1 WHERE c1 >= 'aaaaa' AND c1 <= 'eeee' AND 1=(SELECT
>>>>count(c2) FROM T1 WHERE c1 >= 'aaaaa' AND c1 <= 'eeee');
>>>Cree las tablas que diste... Si ejecuto esto:
>>>
>>>SELECT * FROM T1 WHERE c1 >= 'aaaaa' AND c1 <= 'ccccc' AND 1=(
>>>SELECT count(*) FROM (SELECT DISTINCT ON(c2) c2 FROM T1 WHERE c1 >=
>>>'aaaaa' AND c1 <= 'ccccc') AS foo
>>>);
>>>
>>>no retorna nada...
>>>
>>>Pero si ejecuto esto:
>>>
>>>SELECT * FROM T1 WHERE c1 >= 'aaaaa' AND c1 <= 'bbbb' AND 1=(
>>>SELECT count(*) FROM (SELECT DISTINCT ON(c2) c2 FROM T1 WHERE c1 >=
>>>'aaaaa' AND c1 <= 'bbbb') AS foo
>>>);
>>>
>>>Devuelve los dos primeros registros...
>>>
>>>Saludos!!!
>>>
>>>No se si es óptimo o no... o siquiera responde tu pregunta... pero es
>>>bonito practicar estos querys locos para que alguien en la lista te diga
>>>una manera más elegante!!!
>>>
>>
>>
>>Amigos,
>>
>>yo decía:
>>
>>
>>>Quiero un SELECT que me de algo así:
>>
>>>SELECT * FROM T1 WHERE c1 >= 'aaaaa' AND c1 <= 'eeee' AND (c2 = 1 OR c2 =
>>>0);
>>
>>>El problema lo tengo aqui (c2 = 1 OR c2 = 0)
>>
>>>lo que quiero es que me de SOLAMENTE las lineas SI todas las líneas son
>>>iguales a 1 o si todas las >lineas son iguales a 0. En el caso que tenga
>>>0 y 1, no tiene que dar lineas.
>>
>>>Si alguien tiene una idea, gracias de antemano.
>>
>>El problema esta en "(c2 = 1 OR c2 = 0)"
>>
>>Lo que quiero es que TODOS los valores de sean 1(s) OR 0(s). En el caso
>>que encuentre 1(s) Y 0(s), el SELECT no me tiene que dan NINGUNA LINEA.
>>
>>Se perfectamente que puedo hacer esto con una función (estoy en C++ con
>>libpq++ y OpenBSD), pero me gustaría un query mas elegante (como dijo
>>Miguel).
>>
>>Me releo y me parece claro... no se si soy el único a entender.
>>
>>Si alguien tiene una idea, gracias de antemano.
>>
>>Manuel
>>
>>_________________________________________________________________
>>Trouvez des directions facilement http://fr.mappoint.sympatico.msn.ca/
>>
>>--
>>---------------------------(fin del mensaje)---------------------------
>>TIP 1: para suscribirte y desuscribirte, visita
>>http://archives.postgresql.org/pgsql-es-ayuda
>>
>>
>>
>Probaste el query que te pase?
>

Si Miguel, muchas gracias. La primera vez lo probé mal, pero ahora si, y
marcha bien!

Esta bien pensado, muchas gracias de nuevo.

Manuel

_________________________________________________________________
Trouvez des directions facilement http://fr.mappoint.sympatico.msn.ca/

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Teofilo Oviedo 2007-08-16 21:47:45 Re: UPDATE en tablas identicas
Previous Message manuel lamas 2007-08-16 17:31:28 Re: SELECT