Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Erhalten der Summe mehrerer Spalten aus zwei Tabellen

Sie können Ihre Tabellen vor der Gruppe vereinigen, indem Sie (dies ist übrigens auf Oracle):

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

Sie können die Tabellen auch mit dem Verkäuferfeld verbinden und später danach filtern (falls Sie eine erweiterte Logik benötigen):

 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