2011-10-19 131 views
0

這裏是我的查詢:SQL查詢聚合值不起作用?

SELECT customers.state, SUM(orders.quantity * items.unitcost) AS 'value of orders' 
FROM customers, items, orders 
WHERE customers.custID = orders.custID 
AND orders.itemID = items.itemID 
GROUP BY customers.state 
LIMIT 0 , 50 

有什麼錯呢?它給出的答案看起來可能是正確的,但是當手動檢查時(其中一些表格不超過五十行),其中一些只是一點點關閉。這對我來說似乎完全是一件怪事,我無法弄清楚我做錯了什麼。

+1

什麼是輸入數據和期望是什麼結果呢? – sll

+0

你正在做'CROSS JOIN'(加入所有的東西),而你可能想要一個'INNER JOIN'。我很欣賞你通過'WHERE'子句創建'INNER JOIN'。但嘗試重寫它,看看是否有幫助。還可以在不帶'GROUP BY'子句的情況下執行查詢,以查看獲取的數據並查看查詢可能出錯的位置。 – briantyler

回答

2

希望這將有助於::

​​
+0

可悲的是給了同樣的錯誤...可能是數據的問題。 – user1002973

+0

@錯誤是什麼? –