Oracle
 sql >> Base de données >  >> RDS >> Oracle

Obtenir la somme de plusieurs colonnes de deux tables

Vous pouvez unir vos tables avant le groupe en (c'est sur Oracle, au fait) :

SELECT t.month_ref, SUM(t.amount1), SUM(t.amount2)
  FROM (SELECT month_ref, amount1, amount2
          FROM T_FOO
         WHERE seller = XXX
         UNION ALL
        SELECT month_ref, amount1, amount2
          FROM T_BAR
         WHERE seller = XXX
         ) t
 GROUP BY t.month_ref

Vous pouvez également unir les tables avec le champ vendeur et filtrer par celui-ci plus tard (au cas où vous auriez besoin d'une logique plus avancée) :

 SELECT t.month_ref, SUM(t.amount1), SUM(t.amount2)
   FROM (SELECT month_ref, amount1, amount2, seller
           FROM T_FOO
          UNION ALL
         SELECT month_ref, amount1, amount2, seller
           FROM T_BAR) t
  where t.seller = XXX
  GROUP BY t.month_ref