2016-08-25 13 views
0

私は非常に大きなプロジェクトに取り組んでおり、SQLでいくつかの値を計算する必要があります。私はそのようhoursSubTot1、hoursSubTot2とhoursSubTot3を追加する必要が条件付きの複数テーブルからの合計フィールド

Query1 : txt groupName, int cat, long hoursSubTot1 
Query2 : txt groupName, int cat, long hoursSubTot2 
Query3 : txt groupName, int cat, long hoursSubTot3 

enter image description here

私は結果表に示すように、件のデータがagregateになりたい私はかなり同じフィールドを持つ3つのデータセットを持っています。しかし、私はアクセスで適切な値を集計することはできません、私はアイデアがないので、任意のヘルプやアドバイスは歓迎されるので、

ありがとう!

+1

次の時間を、テーブルのデータを追加し、テキストとしてではなく、画像として結果。お願いします! – jarlh

+0

ああ、申し訳ありませんが、写真ではっきりしていると思っていましたが、将来私はそれをしません。 – LostReality

+0

私はよくアクセスしています。 UNION ALLでGROUP BYを行うことはできますか? – jarlh

答えて

2

複数のクエリを使用することに反対していない場合は、ここに私の考えです。まず、UNION ALLを使用して3つのクエリを組み合わせてクエリを作成します。次に、新しいクエリを作成して合計を計算することができます。

SELECT Group, Category, Hours FROM Table1 
UNION ALL 
SELECT Group, Category, Hours FROM Table2 
UNION ALL 
SELECT Group, Category, Hours FROM Table3 
+1

ありがとう、本当に便利です! – LostReality

1

ANSI SQLの答え、またはアクセスのために動作しない場合があります。

select group, category, sum(hours) 
from 
(
select group, category, hours from table1 
union all 
select group, category, hours from table2 
union all 
select group, category, hours from table3 
) 
group by group, category 
+0

実際にはうまくいきましたが、Accessがサブクエリに問題があるように見えるため、中間のクエリを 'UNION'テーブルに使用すると思います!ありがとう! – LostReality

関連する問題