Re: Problema SQL

From: Oswaldo Hernández <listas(at)soft-com(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problema SQL
Date: 2007-02-15 12:55:46
Message-ID: 45D45852.7020403@soft-com.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

conrado(at)mapfre(dot)com(dot)ar escribió:
> Jaime, buen día.
> Si, cometí el error en el ejemplo, la idea es buscar un valor_y comun a cada
> campo_x igual. C debe tener el valor valor_y = 1 para el ejemplo.
>
>
> Desde ya, gracias.
> Saludos,
> Conrado
>
>
>> -----Mensaje original-----
>> De: Jaime Casanova [mailto:systemguards(at)gmail(dot)com]
>> Enviado el: Jueves, 15 de Febrero de 2007 03:13 a.m.
>> Para: conrado(at)mapfre(dot)com(dot)ar
>> CC: pgsql-es-ayuda(at)postgresql(dot)org
>> Asunto: Re: [pgsql-es-ayuda] Problema SQL
>>
>>
>> On 2/14/07, conrado(at)mapfre(dot)com(dot)ar <conrado(at)mapfre(dot)com(dot)ar> wrote:
>>> Gente, buenas tardes.
>>> Suponiendo que tengo la siguiente tabla e info:
>>>
>>> campo_x valor_y
>>> A 1
>>> A 2
>>> A 3
>>> B 1
>>> B 2
>>> C 3
>>>
>>> Como puedo obtener el valor_y comun a todos los datos del campo_x?
>>> Para este ejemplo, el resultado que me tendría que devolver
>> sería valor_y=1.
>> a que te refieres con el valor comun? el 1 no esta en C asi que no
>> creo que sea el que esta en todos... o si? y es un error en tu
>> ejemplo?
>>
>> --

Ejercicio interesante :)

Independientemente de si hay alguna funcion especifica para esto, ahi va una posible solución:

xx=# CREATE TABLE valorescomunes
xx-# (
xx(# clave varchar(1) ,
xx(# valor int2
xx(# )
xx-# WITHOUT OIDS;
CREATE TABLE
xx=# ALTER TABLE valorescomunes OWNER TO postgres;
ALTER TABLE
xx=# insert into valorescomunes values('a', 1);
INSERT 0 1
xx=# insert into valorescomunes values('a', 2);
INSERT 0 1
xx=# insert into valorescomunes values('a', 3);
INSERT 0 1
xx=# insert into valorescomunes values('b', 1);
INSERT 0 1
xx=# insert into valorescomunes values('b', 2);
INSERT 0 1
xx=# insert into valorescomunes values('c', 1);
INSERT 0 1

xx=# select valor
xx-# from valorescomunes
xx-# group by valor
xx-# having count(valor) = (select count(claves.clave) from (select distinct clave from
valorescomunes) as claves);
valor
-------
1
(1 fila)

Saludos,
--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel A. Valero 2007-02-15 13:02:44 UNA DUDA
Previous Message marcelo 2007-02-15 12:29:58 RE: actualizar tabla de postgis