Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/08/2014, 12:52
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: Procedimeinto Almacenado

La verdad es que lo que planteaste,a menos que sea una exigencia de un trabajo práctico, es innecesario en su mayoría...
Lo que yo veo, analizando tu código, se puede resumir así:
Código MySQL:
Ver original
  1. CREATE PROCEDURE procedimiento(IN idAlumno INT; IN idGrupo INT)
  2.        P.N_DATOS_PERSONALES id_pariente,
  3.        DG.S_NOMBRE nombre,
  4.        DG.S_CORREO correo
  5.   FROM tb_parientes P
  6.        INNER JOIN tb_datos_generales DG ON P.N_DATOS_PERSONALES = DG.N_DATOS_PERSONALES
  7.  WHERE P.N_ID_PARIENTE IN (SELECT A.N_ID_PARIENTE ids_parientes
  8.                              FROM tb_alumno A
  9.                                   INNER JOIN tb_datos_generales G ON A.N_DATOS_PERSONALES = G.N_DATOS_PERSONALES
  10.                             WHERE A.N_ASIGNADO = idGrupo
  11.                               AND A.N_DATOS_PERSONALES = idAlumno);

Ahora bien, el tema es que si devuelve sólo un registro es porque tienes como parámetro mandatorio el idAlumno, que implica que sólo se consulta por un único alumno. Entonces habría que verificar si realmente ese alumno tiene cinco parientes registrados...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)