Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/07/2012, 07:40
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: MySQL Función IFNULL en un procedimiento

Probaste algo así, por ejemplo (con un poco menos de trash code):
Código MySQL:
Ver original
  1. CREATE FUNCTION creditos_alumno (rut VARCHAR(10)) RETURNS INTEGER
  2.     DECLARE valret INT;
  3.     SELECT (21 - COALESCE(SUM(a.creditos), 0)) creditos
  4.     INTO valret
  5.     FROM
  6.         asignaturas a INNER JOIN inscripciones i ON a.sigla = i.sigla
  7.     WHERE
  8.         rut=i.rut
  9.         AND i.semestre = '2012-1';
  10.     RETURN valret;
Por cierto, ese SUM() sólo tiene sentido si por cada asignatura se puede obtener más de 1 credito. ¿Es así?
Otra cosa es que estas haciendo hardcoding de un parámetro, lo que significa que tendrías que tener una versión de este codigo por cada semestre... cosa que no parece una buena idea.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)