用户可以选择选项组合列表,然后搜索它们。
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会如何表现?用户可以选择许多选项组合。
感谢。
答案 0 :(得分:2)
无需多个OR:
select *
from p
where (option_type, value) in ( ('X' ,'A'), ('X','B'), ('Y','D') )