Như đã được nhận xét, tốt hơn và đơn giản hơn chỉ cần nối một số điều kiện:
where departmentName like '%Medi%'
or departmentName like '%Ciga%'
or departmentName like '%Tabacc%';
Một cách khác là chèn các giá trị '% Medi%', '% Ciga%' và '% Tabacc%' vào một conditionTable, sau đó chạy truy vấn này:
select department.*
from department
cross join conditionTable
where department.departmentName like conditionTable.value;
Ở đây tôi giả định rằng bảng của bạn là department
và conditionTable có một cột value
. Nếu bạn triển khai giải pháp này, bạn nên quan tâm đến đồng thời và lọc điều kiệnTable theo một cái gì đó như
select department.*
from department
inner join conditionTable on conditionTable.session = yourSessionId
where department.departmentName like conditionTable.value;
Cuối cùng, giải pháp thứ ba có thể hữu ích, nếu bạn không muốn sử dụng conditionTable, là tạo một chuỗi select <cond1> as value from dual union select <cond2> from dual...
và được đặt vào một truy vấn động dưới dạng
select department.*
from department
cross join
(select '%Medi%' as value from dual
union
select '%Ciga%' from dual
union
select '%Tabacc%' from dual) conditionTable
where department.departmentName like conditionTable.value;