Zoals al is opgemerkt, is het beter en eenvoudiger om verschillende voorwaarden samen te voegen:
where departmentName like '%Medi%'
or departmentName like '%Ciga%'
or departmentName like '%Tabacc%';
Een andere manier is om die waarden '%Medi%', '%Ciga%' en '%Tabacc%' in een conditionTable in te voegen en vervolgens deze query uit te voeren:
select department.*
from department
cross join conditionTable
where department.departmentName like conditionTable.value;
Ik neem hier aan dat uw tabel department
is en dat de conditionTable een kolom value
. heeft . Als u deze oplossing implementeert, moet u zich bekommeren om gelijktijdigheid en conditionTable filteren op iets als
select department.*
from department
inner join conditionTable on conditionTable.session = yourSessionId
where department.departmentName like conditionTable.value;
Ten slotte is een derde oplossing die handig kan zijn, als u geen conditionTable wilt gebruiken, het genereren van een string select <cond1> as value from dual union select <cond2> from dual...
en in een dynamische zoekopdracht geplaatst als
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;