postgres sql选择两列的组合

时间:2013-09-16 17:15:18

标签: sql

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

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会如何表现?用户可以选择许多选项组合。

感谢。

1 个答案:

答案 0 :(得分:2)

无需多个OR:

select * 
from p 
where (option_type, value) in ( ('X' ,'A'), ('X','B'), ('Y','D') )