“使用子查询,列出订单总数(包含该产品)大于 500 的所有产品(产品编号、品牌和类别)”
在子查询之前,我尝试使用连接:
SELECT PRODUCT.PRODUCT_NO, PRODUCT.BRAND,PRODUCT.PRODUCT_CATEGORY
FROM PRODUCT JOIN ORDERLINE
ON PRODUCT.PRODUCT_NO = ORDERLINE.PRODUCT_NO
WHERE SUM(ORDERLINE_NO) >= 500 ;
并得到以下错误;
ORA-00934: group function is not allowed here 00934. 00000 - "group function is not allowed here" *Cause: *Action: Error at Line: 28 Column: 6
你快到了,但是因为你使用了聚合函数,你必须有一个GROUP BY
子句和一个HAVING
子句来过滤聚合结果:
SELECT PRODUCT.PRODUCT_NO,
PRODUCT.BRAND,
PRODUCT.PRODUCT_CATEGORY
FROM PRODUCT JOIN ORDERLINE ON PRODUCT.PRODUCT_NO = ORDERLINE.PRODUCT_NO
GROUP BY PRODUCT.PRODUCT_NO,
PRODUCT.BRAND,
PRODUCT.PRODUCT_CATEGORY
HAVING COUNT(ORDERLINE_NO) >= 500 ;
并使用COUNT()
代替SUM()
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句