From: | "Alberto" <alberto(dot)ipt(at)telefonica(dot)net> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)surnet(dot)cl> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Grupos en un DataReport |
Date: | 2005-06-16 08:47:57 |
Message-ID: | 014c01c57250$1977a9f0$0964a8c0@Alberto |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Exacto, lo que pretendo es hacerlo en la aplicación pero al formar la
consulta me sale el siguiente mensaje:' Las secciones del informe no
coinciden con el origen de datos.'
Exactamente en MySQL usan el siguiente formato
strSQL = "SHAPE {SELECT proveedores.empresa,articulos.numserie " & _
"FROM articulos,proveedores " & _
"WHERE proveedores.id = articulos.idproveedor " & _
"ORDER BY proveedores.empresa} AS ListaProveedores " & _
"COMPUTE ListaProveedores BY empresa"
¿Cómo se haría la consulta para que no me de error en PostgreSQL?
Gracias.
----- Original Message -----
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>
Sent: Wednesday, June 15, 2005 5:49 PM
Subject: Re: [pgsql-es-ayuda] Grupos en un DataReport
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)
---------------------------(fin del mensaje)---------------------------
TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
a los suscriptores de la lista
From | Date | Subject | |
---|---|---|---|
Next Message | Mauricio Zea (Gmail) | 2005-06-16 12:23:41 | Re: Grupos en un DataReport |
Previous Message | Servando | 2005-06-16 08:24:14 | Tuning de postgres |