我有两张桌子:
PRODUCT ITEM - PRODUCT_ID - ITEM_ID - PRODUCT_DESC - STORE_ID - VENDOR_CODE - PRODUCT_ID - ITEM_PRICE
PRODUCT表用于列出商店中销售的每种产品的详细信息,ITEM表基本上是每个商店的库存,列出每个商店中的产品及其价格。
我希望有一个函数可以返回产品描述,商品数量(COUNT)以及相同产品类型的所有商品的平均价格。但是,我还希望条件是输出中只列出超过10个项目的产品。
这是我到目前为止所做的:
SELECT PRODUCT.PRODUCT_DESC AS Description,
COUNT(ITEM.ITEM_ID) AS Count,
AVG(ITEM.ITEM_PRICE) AS [Average Price]
FROM PRODUCT, ITEM
WHERE PRODUCT.PRODUCT_ID = ITEM.PRODUCT_ID
AND COUNT(ITEM.ITEM_ID) > 10;
我正在使用Access SQL,我将不胜感激任何帮助!
答案 0 :(得分:0)
每当您使用COUNT
或AVG
等汇总函数时,您必须GROUP BY
非聚合列,并验证COUNT
,请使用{{1} }。你应该这样做(未经测试):
HAVING COUNT
答案 1 :(得分:0)
尝试使用INNER JOIN而不是过时的多个表而不加入像:
SELECT PRODUCT.PRODUCT_DESC AS Description,
COUNT(*) AS CountItems,
AVG(ITEM.ITEM_PRICE) AS [Average Price]
FROM ITEM
INNER JOIN PRODUCT
ON ITEM.PRODUCT_ID = PRODUCT.PRODUCT_ID
GROUP BY PRODUCT.PRODUCT_DESC
HAVING COUNT(*) > 10