2017-07-29 12 views
0

私はアクセスできませんでした。誰でも結果を得るために1つ以上のテーブルを照会する方法を教えてください。Access 2003では結果1つ以上のテーブルをクエリできます

ex。

表Tdeposit

user amountDeposit 
A    5000 
A    6000 
B    1000 
B    3000 

表Twithdraw

user amountWithdraw 
A     2000 
A     3000 
B     1000 

(私が行う必要がある結果)私はデザインビューを使用するか、私は、SQLビューで実行する必要がどのように

user current 
A   6000 /*edit from 7000* ty for notice*/ 
B   3000 

?外側のクエリで和の違いを取る、その後、集計派生テーブルの結合を検討し、各テーブル内の同じユーザの複数のインスタンスを持つ二重計算を避けるために助け

+0

あなたの質問を明確にしてください、あなたは 'アクセスクエリtutorial'のためのWebを検索し、すべてのユーザー –

+1

ため金額の合計を取得したいです。多くのウェブサイトやビデオのチュートリアルがあります。最初に基本を学ぶときには、さまざまなチュートリアルから必要なスキルを学びます。スタックオーバーフローは、これまでに試したことの詳細を投稿できるときに、特定の問題について質問するのに最適です。質問の一部に答えるには、デザインビューを使用してこのタスクを実行します。 –

+0

希望の結果でユーザAにとって6000ではないでしょうか? – Parfait

答えて

0

に感謝:

SELECT d.[user], (d.[DepositSum] - w.[WDrawSum]) As [current] 
FROM 
    (SELECT [user], SUM([amountDeposit]) As DepositSum 
    FROM Tdeposit 
    GROUP BY [user]) As d 
INNER JOIN 
    (SELECT [user], SUM([amountWithdraw]) As WDrawSum 
    FROM Twithdraw 
    GROUP BY [user]) As w 
ON d.[user] = w.[user] 

代わりに、派生それぞれを保存することができますテーブルは、別の保存されたMS Accessクエリ(またはビュー)として表示されます。

+2

ユーザーが預金口座を持ち、引き出しがない(反対ではない)と仮定し、INNER結合を使用しないで、dからのすべてのレコードを返す結合を使用し、一致するwからのレコードのみを返します。 – June7

+0

この回答は間違いなく役立ち、望ましい結果につながりますが、主な質問は実際には1)「デザインビューを使用するにはどうすればよいですか?別に2)「SQLビューを使用する必要がありますか?」最初のクエリにはSQLビューが必要なので、これは実際には(1)まったく答えるものではなく(2)誤解を招くことがありますが、後で述べる3つのクエリのすべてをデザインビューで実行できることは明確ではありません。非常に便利で間違いなく、Accessを初めて使う人にとってはより良いことです。 –

+0

良い点@CPerkins ...私は明確化のOPを待つでしょう。通常、SOはハウツーチュートリアルの場所ではありません。理想的にはOPが彼の試みですが、新しいAccessユーザーの実装方法を追加できます。 – Parfait

1

これは、いずれのテーブルにも行があるかどうかに関係なく機能します。

select 
    USER, SUM(Amount) 
    from 
    (
    select 
    user, amountDeposit as Amount from TDeposit 
    UNION ALL 
    SELECT 
    user, -amountWithdraw as Amount from TWithdraw 
    ) as x 
    Group By user 
order by user 
関連する問題