2017-05-02 8 views
1

マイデータはアクセスは38のクエリカウントに倍増します...なぜですか?


IDのように見えるが -

  • 1 InputID - DATA1
  • 2 - DATA2
  • 3 - DATA2
  • 4 - DATA2
  • 5 - DATA6を

私は、各データ入力の数を生成し、クエリを実行した場合:1

:データに基づいて、


DATA1の線に沿って何かを提供すべきで、

SELECT First(InventoryData2.InputID) AS FirstOfInputID, Count(InventoryData2.InputID) AS InputItemCount FROM InventoryInputT, InventoryData2 GROUP BY InventoryData2.InputID HAVING (((Count(InventoryData2.InputID))>=1)); 


DATA2:3


DATA3:


DATA1::= 38


DATA2:= 114



ただし、アクセスは、として私のカウントの合計を示していデータ3 = 38


何でもいいですか?

+0

なぜMySQLタグですか? – Strawberry

+0

正直なところ、それはちょうど提案されたタグで、私はそれが多少関連性があると思ったいくつかのSQLコードをどのように持っているのか見ています。そうでなければ謝罪する。 – TylerStudent

+0

@Strawberry:https://meta.stackoverflow.com/q/275170/3820271 – Andre

答えて

2

クエリがデカルト積を生成しているためです。つまり、InventoryInputTの各行は、InventoryData2の各行に一致しています。これは、照会が条件付きで結合操作を指定して、どの行を互いに一致させるかを制限するためです。

GROUP BY操作によって行が折りたたまれています。 GROUP BY句とすべての集計関数を削除し、詳細行だけを返します。何が起きているのかがわかります。

+0

ahhhはい、「InventoryInputT」はそこには存在しないはずです。私がそれを取り除くと、カウントは正常に動作します – TylerStudent

+0

ありがとう! – TylerStudent

関連する問題