From: | "Alejandro Romero Parra" <aromero(at)etesa(dot)com(dot)mx> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)surnet(dot)cl> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Obteniendo informacion de 3 tablas en forma de columnas y no renglones. (Vista, Procedimiento Almacenado o consulta sencilla?). |
Date: | 2005-05-25 21:36:57 |
Message-ID: | 001801c56171$e0c08800$2e00020a@chafireta |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Muchas gracias Alvaro, dejame investigarle por donde me indicaste y cuando
esto salga publico la solución.
Saludos
----- Original Message -----
From: "Alvaro Herrera" <alvherre(at)surnet(dot)cl>
To: "Alejandro Romero Parra" <aromero(at)etesa(dot)com(dot)mx>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Wednesday, May 25, 2005 11:08 AM
Subject: Re: [pgsql-es-ayuda] Obteniendo informacion de 3 tablas en forma de
columnas y no renglones. (Vista, Procedimiento Almacenado o consulta
sencilla?).
> On Tue, May 24, 2005 at 10:13:13AM -0500, Alejandro Romero Parra wrote:
>
> Hola,
>
>> Que mecanismo se puede utilizar para traer la informacion de la
>> siguiente manera:
>
>> [tabla traspuesta cuya definicion de columnas es variable]
>
> Creo que lo que te convendria estudiar es si el modulo
> contrib/tablefunc te sirve, particularmente la funcion crosstab() que
> sirve para hacer trasposiciones de tablas.
>
>> De lo poco que he visto en postgresql esto se podria realizar con un
>> Store Procedure??, alguien ya ha implementado algo como esto?
>
> Es posible. Pero no en PL/pgSQL. Puede que en PL/Perl puedas hacerlo
> facilmente. Por otro lado, cualquiera sea el lenguaje en que lo hagas,
> vas a necesitar definir el tipo de retorno exactamente _antes_ de
> conocer los resultados de la consulta, por lo que es posible que sea
> algo dificil hacer lo que quieres.
>
> Pensandolo bien, creo que tendrias dos opciones:
>
> 1. hacer dos consultas, la primera para saber cuantas columnas tendra el
> resultado y con eso construir la segunda consulta;
>
> 2. retornar los resultados en un array.
>
> Lo segundo lo puedes hacer facilmente con PL/Perl, por ejemplo (sobre
> todo si sabes programar en Perl ... )
>
> --
> Alvaro Herrera (<alvherre[a]surnet.cl>)
> "Tiene valor aquel que admite que es un cobarde" (Fernandel)
>
> ---------------------------(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 | Alejandro Romero Parra | 2005-05-25 21:38:19 | Re: Obteniendo informacion de 3 tablas en forma de columnas y no renglones. (Vista, Procedimiento Almacenado o consulta sencilla?). |
Previous Message | Alvaro Herrera | 2005-05-25 21:00:41 | Re: ejecutar una consulta creada |