Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/12/2007, 16:46
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Sumar campos diferentes tablas

Hola,

Lei como 20 veces el post, parece el enunciado de un examen :)

Código:
SQL> select * from t1;

        ID CAMPO_A_SUMAR_1 CAMPO_A_SUMAR_2
---------- --------------- ---------------
         1              10              20
         2              15              30

SQL> select * from t2;

        ID CAMPO_A_SUMAR_1 CAMPO_A_SUMAR_2
---------- --------------- ---------------
         1              40              23
         2              45            2002
         1              40              20

SQL> select * from t3;

        ID CAMPO_A_SUMAR_1 CAMPO_A_SUMAR_2
---------- --------------- ---------------
         1              10              20
         1              40              20
         1              40              23
         2              15              30
         2              45            2002
Y esto es lo que entendi

Código:
SQL> select
  2  t1.id,
  3  sum(t1.campo_a_sumar_1 + t2.campo_a_sumar_1 + t3.campo_a_sumar_1) suma1,
  4  sum(t1.campo_a_sumar_2 + t2.campo_a_sumar_2 + t3.campo_a_sumar_1) suma2
  5  from
  6  t1, t2, t3
  7  where
  8  t1.id = t2.id and
  9  t2.id = t3.id
 10  group by t1.id
 11  /

        ID      SUMA1      SUMA2
---------- ---------- ----------
         1        480        429
         2        180       4124
Editado

Jajajaja cai tambien en la trampa de los duplicados....

Código:
SQL> select id, sum(campo_a_sumar_1), sum(campo_a_sumar_2)
  2  from
  3  (
  4  select id, campo_a_sumar_1, campo_a_sumar_2
  5  from t1
  6  union all
  7  select id, campo_a_sumar_1 , campo_a_sumar_2
  8  from t2
  9  union all
 10  select id, campo_a_sumar_1 ,campo_a_sumar_2
 11  from t3
 12  )
 13  group by id
 14  /

        ID SUM(CAMPO_A_SUMAR_1) SUM(CAMPO_A_SUMAR_2)
---------- -------------------- --------------------
         1                  180                  126
         2                  120                 4064
Saludos

Última edición por matanga; 21/12/2007 a las 02:52 Razón: quite las sumas parciales