Re: Filas a columnas

From: Miguel Bernilla Sánchez <mbernilla(at)sedapal(dot)com(dot)pe>
To: "Eugenio Segura" <eugenio(dot)segura(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Filas a columnas
Date: 2007-01-24 20:27:37
Message-ID: 51183924.20070124152737@sedapal.com.pe
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


============
Con fecha Miércoles, 24 de Enero de 2007, 02:58:01 p.m., escribió:

> Tengo una tabla de alumnos y la nota digamos...
> Estudiantes:
> Nombre Nota Periodo Materia
> Eugenio 60 0 Matematica
> Eugenio 70 1 Matematica
> Eugenio 80 2 Matematica
> Eugenio 61 0 Español
> Eugenio 71 1 Español
> Eugenio 81 2 Español

> Obiamente otros datos mas...
> pero lo q necesito es obtener esto

> Nombre Nota Nota Nota Materia
> Eugenio 60 70 80 Matematica
> Eugenio 61 71 81 Español

> intente hacer 3 joins en la misma tabla pero dura demaciado y se traba
> el programa, porq son muchos alumnos
> alguien sabe una mejor forma de hacerlo?

con esto te irá de perlas...

select v2.nombre,v2.materia,max(v2.periodo1),max(v2.periodo2),max(v2.periodo3)
from (select v.nombre,v.materia,
case when v.periodo = 0 then v.nota end periodo1,
case when v.periodo = 1 then v.nota end periodo2,
case when v.periodo = 2 then v.nota end periodo3
from (select nombre , materia ,periodo,nota
from alumno) v) v2
group by v2.nombre,v2.materia;

servido...

> ---------------------------(fin del
> mensaje)---------------------------
> TIP 9: el optimizador ignorará el uso de recorridos de índice si los
> tipos de datos de las columnas no coinciden

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Carlos 2007-01-24 20:35:56 Re: Problemas al conectar postgresql
Previous Message Edwin Quijada 2007-01-24 20:04:19 Re: modelo cliente - servidor en postgresql