誰かがこれで私を助けることができれば大歓迎です。
sum() 関数を使用してさらに 2 つのテーブルを結合する 1 つのテーブルから結果を取得しようとしています。私の結果は合計列で乗算されています。これが私のテーブルの外観と私の望ましい結果です
表1
[Id] [Account_nbr] [date] [seq#]
------------------------------------------
[1234] [$60] [4321] [10-15-2012] [1]
[1234] [$20] [4321] [10-15-2012] [2]
[1234] [$30] [4321] [10-15-2012] [3]
[2345] [$40] [9876] [10-15-2012] [1]
[3456] [$50] [6543] [10-15-2012] [1]
表2
[ID] [cust_num]
---------------------
[1234] [8765]
[2345] [8766]
[3456] [8767]
表 3
[cust_num] [account_nbr]
-------------------------------
[8765] [4321]
[8767] [9876]
私の望ましい結果は、 join Table 1
、Table 2
using ID
、 join Table 3
using cust_num
、 see account_nbr
fromがinとtable 1
一致し、一致するものが見つかった場合account_number
Table 3
sum(Table1.Amount),Table1.Id,Table1.Account_nbr,Table1.Date
このようなSQLクエリを使用していましたが、合計結果が乗算されています
SELECT
sum((Table1.Amount), Table1.Id, Table1.Account_nbr, Table1.Date
FROM
table1, table2, table3
WHERE
table1.id = table2.id
AND table2.cust_num = table3.cust_num
AND table1.account_nbr = table3.account_nbr
GROUP BY
table1.id,table1.account_nbr,table1.date
ORDER BY
table1.date DESC
しかし、先ほど言ったように、私の結果は倍増しています。以下に示すように、表形式での私の望ましい結果
[Amount] [Id] [Account_nbr] [Date]
---------------------------------------------------
[$110] [1234] [4321] [10-15-2012]
[$40] [2345] [9876] [10-15-2012]
にid = 3456
対応するaccount_nbr
fromtable1
が存在しないため、 は存在しないはずtable3
です。