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