2016-04-25 5 views
-6

私はMicrosoft Access 2013を使用しています。 各カフェで注文数を調べようとしていますが、表示されている番号が間違っています。 これは私のコードです:Count(*)関数を使用しているSQL

SELECT Avg(Feedback.RatingForExperience) AS caferating, 
     Count(tblOrder_Product.ProductCode) AS cafesales, Feedback.cafeid 
FROM tblOrder_Product, Feedback 
GROUP BY Feedback.cafeid; 

が私を助けてください、ありがとうございました。

enter image description here Screen1

[]

+0

完全な例サイトごとのようにしてくださいルール。あなたのライン・コードでは、 "あなたの質問を修正する"という答えが唯一可能です。 – TomTom

+2

テーブルをリンクするにはJOINが必要です。現在、デカルト結合があります。 – gbn

+0

Ie. '... FROM tblOrder_Product JOINフィードバックON tblOrder_Product.columnX = Feedback.columnY ...'のようなことをします。 – jarlh

答えて

1

コメントで述べたように、あなたが一緒にあなたのテーブルを結合する必要があります。以下はSQLです。

SELECT Avg(Feedback.RatingForExperience) AS caferating, 
    Count(tblOrder_Product.ProductCode) AS cafesales, Feedback.cafeid 
FROM tblOrder_Product INNER JOIN Feedback ON tblOrder_Product.OrderCode = Feedback.OrderCode 
GROUP BY Feedback.cafeid; 

それとも

SELECT Avg(Feedback.RatingForExperience) AS caferating, 
    Count(tblOrder_Product.ProductCode) AS cafesales, Feedback.cafeid 
FROM tblOrder_Product LEFT JOIN Feedback ON tblOrder_Product.OrderCode = Feedback.OrderCode 
GROUP BY Feedback.cafeid; 
+0

私はすべての注文が対応するフィードバックを持っていると想像することはできません。私は確かに非常に頻繁にフィードバックを残すことはありません...私はLEFT JOINをお勧めしたいと思いますが、私はOPにそれを説明しなくてはなりません;) – MatBailie

+0

:)うん、私は、最初にOPを実行するには、少なくとも正しいパスでそれらを取得する必要があります。 – MoondogsMaDawg

関連する問題