我有一个表,attribute range
(range_type
是min(-1)和属性的max(1)值),attribute_value
是值。我需要选择一个范围,例如从-1到15。
我只需要收到产品2,因为他的最小值是-5小于-1而最大值是18小于15。
我尝试这样的事情:
SELECT product_id
FROM `attribute_range`
WHERE
(`range_type` = -1 AND `attribute_value` <= -1)
AND
(`range_type` = 1 AND `attribute_value` >= 15)
但它不起作用,任何人都可以帮助我吗?
答案 0 :(得分:0)
您应该使用子查询:
SELECT product_id
FROM `attribute_range`
WHERE (`range_type` = -1 AND `attribute_value` <= -1)
AND produc_id in
(SELECT product_id
FROM `attribute_range`
WHERE (`range_type` = 1 AND `attribute_value` >= 15))