Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Lain0x en 8 Diciembre 2011, 21:44 pm



Título: UPDATE en SQL
Publicado por: Lain0x en 8 Diciembre 2011, 21:44 pm
Estoy un tanto complicado con esto, no puedo expresarlo en SQL:

Si el alumno tiene la nota mas baja igualar su nota al promedio de curso.
Si hay dos alumnos con la misma nota, subir la nota al de menor edad.

La tabla es así:

| id_alumno |  Nombre  | Edad  | NotasFinales |  Sexo  |



Título: Re: UPDATE en SQL
Publicado por: Lain0x en 8 Diciembre 2011, 21:55 pm
Traté de expresarlo de esta forma: sSQL = "UPDATE alumno SET NotasFinales = AVG(NotasFinales) WHERE MIN(NotasFinales)";

Pero obviamente tira error ya que Where no permite min.


Título: Re: UPDATE en SQL
Publicado por: josemi9 en 29 Enero 2012, 00:48 am
Eso que tu dices seria de la siguiente forma

update alumno set NotasFinales = avg(NotasFinales) where NotasFinales = (select min(NotasFinales) from alumnos) and edad = (select min(edad) from alumnos where NotasFinales = (select min(NotasFinales) from alumnos));

espero haberte ayudado un saludo