0

全て。

Access 2010 で非常に単純な予算データベースを作成しました。各カテゴリの費用の合計を検索するクエリを実行したところ、次の結果が見つかりました。

場合によっては、金額が加算されます。つまり、私は 240 ドルを費やし、それが返された金額です。

あるケースでは、返された金額が入力された金額の 2 倍でした。クエリ デザイン モジュールで "Sum" を "Group By" に変更すると、6 つのレコードが返され、"Sum" で見つかった量の半分になりました。"Group By" を "Count" に変更すると、値 12 が返されました。

他の場合でも、同様の結果が得られました。ただし、そのカテゴリでは、「Group By」を使用すると 33 件のレコードが見つかりますが、「Count」を使用すると値 40 が返されました。

ここに私のSQLがあります:

SELECT tblType.typName, tblCategories.catName,
Sum(tblEntries.entAmount) AS SumOfentAmount,
tblBudgetParameters.budAmount
FROM tblVendors INNER JOIN (tblType INNER JOIN ((tblCategories INNER
JOIN tblBudgetParameters ON tblCategories.catID =
tblBudgetParameters.budItem) INNER JOIN tblEntries ON
tblCategories.catID = tblEntries.entCategory) ON
tblType.typIncomeExpenditure = tblEntries.entType) ON tblVendors.venID
= tblEntries.entVendor
WHERE (((tblEntries.entDate) Between [Enter Start Date] And [Enter End
Date]) AND ((tblBudgetParameters.budExpired)=False))
GROUP BY tblType.typName, tblCategories.catName, tblBudgetParameters.budAmount;

何が倍増しているかを調べ、それを修正するにはどうすればよいですか?

ありがとう - ロブ

4

1 に答える 1

0

テーブルを 1 つずつ削除してカウントを取得し、どのテーブルが重複しているのかを調べます。例えば:

SELECT tblVendors.VenID, Count(tblVendors.VenID)
FROM tblVendors 
INNER JOIN tblEntries 
ON tblVendors.venID = tblEntries.entVendor
HAVING Count(tblVendors.VenID) >1
于 2012-06-25T07:53:47.103 に答える