2016-04-25 77 views
-6

我正在使用Microsoft Access 2013和 我試圖找到每個咖啡館的訂單數量,但顯示的數量是錯誤的。 這是我的代碼: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

也就是說,做一些類似'...從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