3

用户可以选择选项组合列表,然后搜索它们。

sql可能看起来像这样。

select * from p where (option_type = 'X' and value = 'A') 
or (option_type = 'X' and value = 'B')
or (option_type = 'Y' and value = 'D')

但是我当然不想有 n 个或

一个好的 sql 会如何执行?用户可以选择许多选项组合。

谢谢。

4

1 回答 1

7

无需多个 OR:

select * 
from p 
where (option_type, value) in ( ('X' ,'A'), ('X','B'), ('Y','D') ) 
于 2013-09-16T20:44:16.010 回答