Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/08/2010, 05:48
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: Trigger ayuda

La columna MASTER.TOTAL es innecesaria. Es lo que se denomina "campo calculable", porque surge de usar SUM() en un JOIN entre ambas tablas.
En las bases de datos relacionales no deben usarse campos calculables porque consumen espacio, contienen información redundante, y requieren procesos especiales para mantenerlos actualizados, lo cual es precisamente tu problema.
La soliución a tu consulta saldría de esto:
Código MySQL:
Ver original
  1. SELECT M.idmaster, M.descripcion, SUM(subtotal) total
  2. FROM master M INNER JOIN detalle D USING(idmaster)
  3. GROUP BY M.idmaster, M.descripcion;

Si aún así quieres hacerlo por un TRIGGER, es muy probable que debas hacer más de uno, o uno que trabajo sobre más de un evento.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)