2つの異なるテーブルからいくつかの列の合計を取得したい(これらのテーブルは同じ構造を共有します)。2つのテーブルから複数の列の合計を取得する
私は1つのテーブルのみを考慮すれば、私は、クエリのこの種の記述します。
SELECT MONTH_REF, SUM(amount1), SUM(amount2)
FROM T_FOO
WHERE seller = XXX
GROUP BY MONTH_REF;
しかし、私は、テーブルT_BARからのデータを操作したいと思いますし、Return select
クエリを持っているが次の列:
- MONTH_REF
- SUM(T_FOO.amount1)+ SUM(T_BAR.amount1)
- SUM(T_FOO.amount2)+ SUM(T_BAR.amount2)
すべてはMONTH_REF
の値でグループ化されています。
ある特定のMONTH_REF
のレコードは、あるテーブルでは見つかりますが、他のテーブルでは見つからないことに注意してください。 この場合、T_FOO.amount1 + 0
(または0 + T_BAR.amount1
)の合計を取得したいと考えています。
この情報を取得するにはどうすればSQLクエリを書くことができますか?
詳細については、私のデータベースはOracle 10gです。
最後に、Lievenソリューションよりも明確ですので、私はあなたのソリューション(最初のもの)を好む... – romaintaz
'WHERE'節をサブ' SELECT'の外に移動するよりも早く行数を減らすので、効率的です。 – JohnB
ありがとう私は2番目を使用しました。 –