L'obtention de la somme de plusieurs colonnes de deux tables

Je veux obtenir la somme de plusieurs colonnes de 2 tables différentes (ces tables partagent la même structure).

Si je ne le considère un tableau, je voudrais écrire ce genre de requête:

SELECT MONTH_REF, SUM(amount1), SUM(amount2)
    FROM T_FOO
    WHERE seller = XXX
    GROUP BY MONTH_REF;

Cependant, j'aimerais aussi travailler avec les données de la table T_BAR, et ensuite avoir un select de requêtes qui retournent les colonnes suivantes:

  • MONTH_REF
  • SOMME(T_FOO.amount1) + SOMME(T_BAR.amount1)
  • SOMME(T_FOO.amount2) + SOMME(T_BAR.amount2)

tout regroupées par la valeur de MONTH_REF.

Noter qu'un record pour un MONTH_REF peut être trouvé dans un tableau, mais pas dans l'autre table.
Dans ce cas, j'aimerais obtenir la somme de T_FOO.amount1 + 0 (ou 0 + T_BAR.amount1).

Comment puis-je écrire ma requête SQL pour obtenir cette information?

Pour information, ma base de données Oracle 10g.

OriginalL'auteur Romain Linsolas | 2009-09-07