Re: Grupos en un DataReport

From: Alvaro Herrera <alvherre(at)surnet(dot)cl>
To: Alberto <alberto(dot)ipt(at)telefonica(dot)net>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Grupos en un DataReport
Date: 2005-06-15 15:49:51
Message-ID: 20050615154951.GE9860@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Wed, Jun 15, 2005 at 01:58:48PM +0200, Alberto wrote:

Hola,

> Lo primero decir que no se si este es el foro mas adecuado a mi
> consulta y si no es así disculpas.

Si, lo es.

> Un ejemplo de lo que quiero es lo siguiente:
>
> Lo que tengo ahora:
>
> ProveedorA Articulo1
> ProveedorA Articulo2
> ProveedorB Articulo3
>
> Y lo que quiero es lo siguiente:
>
> ProveedorA Articulo1
> Articulo2
> ProveedorB Articulo3

Hum, raro. La verdad no se como se haria en Postgres. Creo que lo mas
sencillo seria hacerlo en la aplicacion cliente, si es posible (en
cualquier lenguaje normal se puede, pero si es en uno de esos lenguajes
visuales en que enchufas la salida de SQL a un elemento grafico, puede
ser complicado o imposible).

Ahora que lo pienso, si se puede hacer -- solo tienes que hacer una
funcion que haga la consulta, y recorra el resultado, de manera que
reemplace el valor de la primera columna por NULL si es que el valor es
igual al del registro anterior. Algo como

FOR SELECT INTO rec ... LOOP
if rec.proveedor = prev.proveedor then
rec.proveedor = null;
end if;
prev.proveedor = rec.proveedor;
return next rec;
end loop;

Tienes que crear una funcion que retorne SETOF RECORD. Se ha discutido
antes como se hace esto -- mira los archivos.

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
Management by consensus: I have decided; you concede.
(Leonard Liu)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-06-15 15:51:18 Re: baja en la lista
Previous Message Manuel Sugawara 2005-06-15 15:48:33 Re: Hola buenos Dias? Es pecado pedir ayuda?