Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle:दो अलग-अलग प्रश्नों को एक में मिलाना, LIKE &IN

जैसा कि पहले ही टिप्पणी की जा चुकी है, कई शर्तों को जोड़ना बेहतर और आसान है:

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;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सम्मिलित डेटासेट से प्राथमिक कुंजी को अन्य सम्मिलन में श्रृंखला में प्राप्त करना

  2. sqlplus से pl/sql के भीतर गतिशील निष्पादन आउटपुट प्रदर्शित करें

  3. मैं Oracle में एक स्ट्रिंग में शब्दों की संख्या कैसे गिन सकता हूं?

  4. PostgreSQL/Oracle में दो तिथियों के बीच अंतर की गणना कैसे करें

  5. Oracle:तालिका हमेशा ड्रॉप तालिका के बाद मौजूद होती है