Re: tablas temporales

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: "Crispin T(dot)" <cris(dot)emis(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: tablas temporales
Date: 2007-07-11 14:55:47
Message-ID: 20070711145547.GC5522@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Crispin T. escribió:
> hola a todos tengo una consulta("otra ves") esta ves es por las tablas
> temporales tengo el siguiente problema
> tengo una tabla de este tipo que mas bien es una vista que ya e creado
> -------------------------------------------------
> nombre - titulo - nota
> juan - doctorado - 200
> juan - licenciado - 100
> jose - doctorado - 200
> jose - licenciado - 100
> jose - masterado - 150
>
> y necesito una tabla resultante que me muestre a la persona "nombre" con su
> "titulo" el titulo que tenga mayor puntaje y la suma de todos sus puntajes
> (asta aqui) no hay problema el echo es que hay un limite de puntajes que no
> tiene que ser mayor a 400 es decir si la suma de sus puntajes es menor a 400
> me muestra su verdadero puntaje pero si es mayor a 400 me tiene que mostrar
> el maximo "400" la tabla resultante tendria que ser asi
> ---------------------------------------------------
> nombre - titulo - nota
> juan - doctorado - 300
> jose - doctorado - 400
>
> o sin el titulo no es muy importante para lo que necesito la tabla pero como
> les dije lo anterior (primera tabla) es una vista asi que no puedo hacer un
> update a la tabla y lo que hice es crear una tabla temporal donde saco la
> (segunda tabla) con sus valores originales es decir JOSE NOTA = 450 y
> luego ago un update de las notas mayores a 400

No necesitas hacer un UPDATE para obtener el maximo hasta 400, ni
necesitas la tabla temporal. Basta con algo como

SELECT ..., CASE WHEN foo > 400 THEN 400 ELSE foo END as puntaje_maximo_400,
...

El resto te lo dejo a tu imaginacion porque obviamente se trata de una
tarea de un curso de bases de datos que deberias resolver por ti mismo.
Lo unico que te puedo decir es que si yo fuera tu profesor y volvieras
con una solucion que involucra una tabla temporal te repruebo la tarea
de inmediato.

--
Alvaro Herrera http://www.amazon.com/gp/registry/DXLWNGRJD34J
A male gynecologist is like an auto mechanic who never owned a car.
(Carrie Snow)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Arturo Munive 2007-07-11 14:59:11 Re: Resucitando Maquina para un servidor postgresql
Previous Message Mario Gonzalez 2007-07-11 14:50:37 Re: Resucitando Maquina para un servidor postgresql