Re: Funcion con numero indefinido de devoluciones

From: "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com>
To: Cuenca <ycuenca(at)facinf(dot)uho(dot)edu(dot)cu>, "Jaime Casanova" <systemguards(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Funcion con numero indefinido de devoluciones
Date: 2006-06-13 01:42:21
Message-ID: 5aa69e1b0606121842k914ac11r3683973d1a8f2f9c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola también queria e hice algo parecido y tambien pregunte como hacerlo y
bueno en mi caso tenia que formar algo asi:

cliente enero febrero marzo ... diciembre
Luis 15.5 25.5 26.3 17.5
Juan 28.5 45.5 56.3 59.5

y lo solucione algo asi, como tenia que sacar en mi consulta 13 columnas
creo el tipo de dato:
CREATE TYPE meses AS (
cliente text,
enero float,
febrero float,
marzo float,
.
.
.
Diciembre float
);

luego la funcion

CREATE OR REPLACE FUNCTION crosstab_reporte(text) RETURNS SETOF meses AS
'$libdir/tablefunc', 'crosstab' LANGUAGE 'c' STABLE STRICT;

luego hacia la consulta select * from crosstab_reporte('consulta')

ahora la pregunta esta bien lo que hice? algo así hiciste cuenca?, porque
supongo que en tus asignaturas no solo tienes PostgreSQL,MySQL y Oracle
puedes tener muchas más, ¿hay que definir en el tipo de dato la columna que
quieres sacar?, o es que no estoy entendiendo bien lo que hace crosstab :(
espero que me haya explicado bien.

On 6/11/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
>
> Cuenca escribió:
>
> > tambien he probado crear mi propia funcion, con un tipo de dato
> definido,
> > para tener nombres que pueda reconocer mejor
>
> Hmm, estoy casi seguro que le puedes dar los nombres de columnas de
> alguna manera.
>
> > mil gracias Alvaro, Jaime y sobre todo a Michael Stonebraker por tan
> > genial sistema...
>
> :-) Buena la de Stonebraker ... probablemente en este caso particular
> debes agradecer a Tom Lane y Joe Conway por la implementacion de
> set-returning functions y el modulo tablefunc.
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 1: para suscribirte y desuscribirte, visita
> http://archives.postgresql.org/pgsql-es-ayuda
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2006-06-13 01:47:38 Re: Problema con creación de tabla
Previous Message Jaime Casanova 2006-06-13 00:54:37 Re: Error al insertar