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個のorを持ちたくありません

それが実行するような良い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 に答える