जैसा कि पहले ही टिप्पणी की जा चुकी है, कई शर्तों को जोड़ना बेहतर और आसान है:
where departmentName like '%Medi%'
or departmentName like '%Ciga%'
or departmentName like '%Tabacc%';
दूसरा तरीका यह है कि उन मानों '%Medi%', '%Ciga%' और '%Tabacc%' को एक कंडीशनटेबल में डालें, और फिर इस क्वेरी को चलाएँ:
select department.*
from department
cross join conditionTable
where department.departmentName like conditionTable.value;
मैं यहाँ मान रहा हूँ कि आपकी तालिका department
है और यह कि कंडीशनटेबल में एक कॉलम है value
. यदि आप इस समाधान को लागू करते हैं, तो आपको संगामिति के बारे में ध्यान रखना चाहिए, और कुछ इस तरह की स्थिति को फ़िल्टर करना चाहिए
select department.*
from department
inner join conditionTable on conditionTable.session = yourSessionId
where department.departmentName like conditionTable.value;
अंत में, एक तीसरा समाधान जो आसान हो सकता है, यदि आप किसी कंडीशनटेबल का उपयोग नहीं करना चाहते हैं, तो एक स्ट्रिंग उत्पन्न करना है select <cond1> as value from dual union select <cond2> from dual...
और एक गतिशील क्वेरी के रूप में रखा गया है
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;