I need a way to make a IN operator that makes different kind of comparisons for each parameter, that way:
SELECT *
FROM Table
WHERE (par1, par2, par3) IN ((par1answer1, par2answer1, par3min1, par3max1),
(par1answer2, par2answer2, par3min2, par3max2),
...,
(par1answern, par2answern, par3minn, par3maxn)
)
Explanation:
- par1 needs to be EQUAL to par1answer1 or par1answer2
- par2 needs to be EQUAL to par2answer1 or par2answer2
- par3 needs to be BETWEEN par3min1 and par3max1, or par3min2, par3max2
@EDIT
Sorry for not being clear, I'm not really good at explanations, but I'm working on it!
Example set:
par1 par2 par3
2 5 10
3 6 20
4 7 30
5 8 60
SELECT *
FROM Table
WHERE (par1, par2, par3) IN ((2,5,9,11),
(3,6,11,19),
(5,7,9,100),
(5,8,10,80),
(2,8,0,200))
Result:
par1 par2 par3
2 5 10 //matches first tuple
5 8 60 //matches fourth tuple