From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | Miguel Bernilla Sánchez <mbernilla(at)sedapal(dot)com(dot)pe> |
Cc: | "Eugenio Segura" <eugenio(dot)segura(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Re[2]: Filas a columnas |
Date: | 2007-02-20 17:39:46 |
Message-ID: | c2d9e70e0702200939x6a2b0798i97484910cd98695a@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 1/24/07, Miguel Bernilla Sánchez <mbernilla(at)sedapal(dot)com(dot)pe> wrote:
>
> ============
> Con fecha Miércoles, 24 de Enero de 2007, 04:13:57 p.m., escribió:
>
> > me da error de sintaxis cerca del periodo1 q sera?
> Lo había probado en Oracle y todo OK. :(
>
> Lo simulé en postgreSQL y efectivamente me mostraba error en
> sintaxis... Modifiqué el queryl... y ahora sí 100% garantizado que
> corre en PostgreSQL.
>
> 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 as periodo1,
> case when v.periodo = 1 then v.nota end as periodo2,
> case when v.periodo = 2 then v.nota end as periodo3
> from (select nombre , materia ,periodo,nota
> from alumno) v) v2
> group by v2.nombre,v2.materia;
>
no habia este mail antes, me pregunto porque les gustan tanto las
subconsultas ;)
aqui hay una version simplificada del select:
select nombre, materia,
sum(case when periodo = 0 then nota else 0 end) as periodo1,
sum(case when periodo = 1 then nota else 0 end) as periodo2,
sum(case when periodo = 2 then nota else 0 end) as periodo3
from notas_alumnos
group by 1, 2;
--
Atentamente,
Jaime Casanova
"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2007-02-20 17:47:15 | Re: sobre ADT |
Previous Message | Alvaro Herrera | 2007-02-20 17:39:04 | Re: sobre ADT |