From: | "manuel lamas" <manuel3w(at)hotmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Lista de valores |
Date: | 2007-08-08 04:55:36 |
Message-ID: | BAY108-F231D272EA5631418B9F88995E70@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
>Date: Wed, 8 Aug 2007 04:07:43 +0000
>
>On 8/7/07, manuel lamas <manuel3w(at)hotmail(dot)com> wrote:
> > Hola lista,
> >
> > Digamos que tengo una tabla asi:
> >
> > CREATE TABLE T1
> > (
> > productoID int,
> > color varchar(20)
> > );
> >
> >
> > INSERT INTO T1(productoID,color)VALUES(1,'blanco');
> > INSERT INTO T1(productoID,color)VALUES(1,'negro');
> > INSERT INTO T1(productoID,color)VALUES(1,'rojo');
> >
> > INSERT INTO T1(productoID,color)VALUES(2,'blanco');
> > INSERT INTO T1(productoID,color)VALUES(2,'negro');
> > INSERT INTO T1(productoID,color)VALUES(2,'rojo');
> >
> > Quiero hacer un SELECT que me de este resultado sin utilizar una función
>(en
> > un simple SELECT), es posible?
> >
> > 1 blanco,negro,rojo
> > 2 blanco,negro,rojo
> >
> >
>
>no se si el select es muy complejo para tu gusto.
>
>select productoid,
> array_to_string(array(select color from t1
> where productoid =
>foo.productoid), ',')
> from t1 as foo group by productoid;
>
> productoid | array_to_string
>------------+-------------------
> 2 | blanco,negro,rojo
> 1 | blanco,negro,rojo
>(2 rows)
>
>--
>Atentamente,
>Jaime Casanova
Muchas gracias a todos por su tiempo.
me gusta la idea de Jaime... hay que ver como se porta el SELECT con EXPLAIN
ANALYSE.
Si no es muy costoso, creo que voy a inspirarme es eso.
Gracias de nuevo!
Manuel
_________________________________________________________________
Trouvez des visages familiers avec Windows Live Spaces
http://spaces.live.com/?mkt=fr-ca
From | Date | Subject | |
---|---|---|---|
Next Message | Henry | 2007-08-08 05:32:34 | Re: mejorar rendimiento de consulta |
Previous Message | Jaime Casanova | 2007-08-08 04:07:43 | Re: Lista de valores |