Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/12/2010, 16:01
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Sumar de varias tablas

Buenas tardes crispin93:

Hay algunas observaciones que tengo que hacer en cuanto al planteamiento de tu problema, por ejemplo en tu tabla_a "Juan" tiene asignado el id 2, mientras que en tu tabla_b el mismo "Juan" tiene asignado el id 3, por lo que puedo suponer que este número es simplemente un consecutivo para tus registros. Ahora bien, lo que quieres puedes hacerlo así:

Código MySQL:
Ver original
  1. @rownum:=@rownum + 1 as id,  
  2. T.nombre,
  3. sum(T.total) as total
  4. from (SELECT @rownum:=0) r,
  5. (
  6. select * from Tabla_a
  7. select * from Tabla_b
  8. ) T
  9. group by T.nombre order by total desc

La parte del @rownum es sólo para numerar los registros de la tabla resultante, el resto es simplemente juntar tus dos tablas mediante un UNION ALL (ya que si pones UNION sólo se mostraría una vez el registro para "pepito" pues es exactamente igual en las dos tablas) y agrupar por nombre.

También me gustaría hacer una observación en cuanto al diseño de tus tablas, si un campo PUEDE SER CALCULADO como es el caso del total, NO SE DEBE INCLUIR COMO UNA CAMPO MÁS DE LA TABLA. En fin, eso es solo un comentario al margen.

Dale un vistazo al código y nos comentas el resultado.

Saludos
Leo.