【发布时间】:2017-05-08 20:48:11
【问题描述】:
我想选择报价中至少包含三种产品且价格在 5 到 20 之间的所有商店,我需要显示商店 ID 和名称以及满足条件的产品数量。这是代码:
SELECT SHOP.SHOP_ID, SHOP.SHOP_NAME, COUNT(PRODUCT.PRODUCT_ID) AS NUM
FROM SHOP JOIN PRODUCT USING (SHOP_ID)
GROUP BY SHOP_ID
HAVING (SELECT SHOP_ID FROM PRODUCT WHERE COST IS BETWEEN 5 AND 20 AND NUM>=3)
我遇到的问题是 NUM>3 的约束正在起作用,但结果我得到了价格低于 5 和超过 20 的产品。这就像 BETWEEN 没有任何部分,我不明白为什么那个。
【问题讨论】: