Re: Funcion con numero indefinido de devoluciones

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Cuenca <ycuenca(at)facinf(dot)uho(dot)edu(dot)cu>
Cc: 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-11 20:44:34
Message-ID: 20060611204434.GF4678@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Cuenca escribió:

> ejemplo:
> -------------------
> nombre PostgreSQL
> Jaime 5
> Alvaro 5
> Cuenca 2
> eso en el caso de que solo exista la asignatura PostgreSQL, pero si hay
> mas quiero el listado de todas:
> -------------------
> nombre PostgreSQL MYSQL ORACLE ...
> Jaime 5 5 2 ...
> Alvaro 5 5 3 ...
> Cuenca 2 3 4 ...

La forma "normal" de hacer esto en SQL es escribir una consulta SQL que
te retorne algo asi:

Jaime PostgreSQL 5
Jaime MySQL 5
Jaime Oracle 2
Alvaro PostgreSQL 5
Alvaro MySQL 1
Alvaro Oracle 2
Cuenca Oracle 4

etc. Una vez que tienes ese resultado, puedes usar un modulo contrib
que se llama tablefunc, donde hay una funcion llamada crosstab, con la
cual puedes convertir este resultado en las tablas que presentas arriba.

No deberia ser dificil, pero varias veces han preguntado lo mismo, he
dado esta respuesta y nunca he visto a nadie decir que le ha resultado.
Si tu tienes mas cerebro te rogaria que nos dijeras que funciona ;-)
(si, yo lo probe alguna vez y funciona).

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-06-11 20:45:47 Re: Noticias sobre la versión 8.2
Previous Message Cuenca 2006-06-11 19:59:56 Re: Funcion con numero indefinido de devoluciones