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