【发布时间】:2013-03-30 21:29:11
【问题描述】:
我有这样的表格:
A table B table
-------------------- -----------------------------------
item_ID | item_Name item_ID | option_ID | option_Value
-------------------- -----------------------------------
1 item_a 2 34 2000
2 item_b 2 45 3400
3 item_c 2 12 1200
4 item_d 3 34 500
5 item_e 3 13 500
6 item_f 4 45 700
我写了一个查询来获取项目,例如有 option 34 = 2000 和 option 12 = 1200 是:
SELECT A.item_ID, A.item_name
FROM A
LEFT JOIN B ON A.item_ID = B.item_ID
WHERE B.option_ID IN (34, 1200) AND
B.option_Value IN (1200, 2000) AND
GROUP BY A.item_ID
HAVING COUNT(A.item_ID) >= 2 /* count of option used for search, can be more*/
我的问题是我想获得范围结果的某些选项,例如: option id 34 在 1000 和 2000 之间选项 12 低于 4000
注意:(option_id, option_value) 对是唯一的,我想获得符合所有条件的项目
【问题讨论】: