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).
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 |