Допустим, у меня есть таблица, содержащая следующие значения:
ID | role | group | name
--------------------------
1 | A | A | John
2 | B | A | Paul
3 | C | A | Mary
4 | A | B | Peter
5 | B | B | Mark
6 | C | B | May
7 | A | C | Sam
8 | B | C | Samson
9 | C | C | Naomi
Затем, скажем, я хочу пользователя из группы B с ролью A и пользователя из группы C с ролью C, я могу написать SQLнапример:
select * from my_table
where (role = 'A' and group = 'B')
or (role = 'C' and group = 'C')
Это работает, но проблема в том, что в реальном случае эти наборы устанавливаются пользователем, и их будет много.Обычно, если это только запрос с одним значением, я могу выполнить:
select * from my_table where id in (:id_list)
Затем я могу передать массив идентификаторов непосредственно в оператор.Есть ли способ, которым я могу использовать, где в нескольких значениях в качестве набора?
PS Я использую PHP с базой данных Oracle, но я думаю, что это не должно иметь большого значения, так как я запрашиваю оператор SQL.