Re: Obteniendo informacion de 3 tablas en forma de columnas y no renglones. (Vista, Procedimiento Almacenado o consulta sencilla?).

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
Subject: Re: Obteniendo informacion de 3 tablas en forma de columnas y no renglones. (Vista, Procedimiento Almacenado o consulta sencilla?).
Date: 2005-05-25 16:08:49
Message-ID: 20050525160849.GB7563@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Julio Rivero 2005-05-25 16:15:52 Ayuda sobre script & function
Previous Message Alexys Lozada 2005-05-25 16:04:58 Re: IPV6 o Local?