Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle:menggabungkan dua kueri berbeda menjadi satu, LIKE &IN

Seperti yang sudah dikomentari, lebih baik dan lebih mudah untuk menggabungkan beberapa kondisi:

where departmentName like '%Medi%'
   or departmentName like '%Ciga%'
   or departmentName like '%Tabacc%';

Cara lain adalah dengan memasukkan nilai '%Medi%', '%Ciga%' dan '%Tabacc%' tersebut ke dalam tabel kondisi, lalu jalankan kueri ini:

select department.*
  from department
 cross join conditionTable
 where department.departmentName like conditionTable.value;

Saya berasumsi di sini bahwa tabel Anda adalah department dan conditionTable memiliki kolom value . Jika Anda menerapkan solusi ini, Anda harus memperhatikan konkurensi, dan memfilter conditionTable dengan sesuatu seperti

select department.*
  from department
 inner join conditionTable on conditionTable.session = yourSessionId
 where department.departmentName like conditionTable.value;

Terakhir, solusi ketiga yang mungkin berguna, jika Anda tidak ingin menggunakan conditionTable, adalah membuat string select <cond1> as value from dual union select <cond2> from dual... dan ditempatkan ke dalam kueri dinamis sebagai

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. Nilai SQL MIN dari dua tabel

  2. Karakter non-numerik ditemukan di mana numerik diharapkan

  3. Beberapa sisipan SQL oracle

  4. Bagaimana cara mempercantik output yang berasal dari kueri SELECT di command prompt?

  5. Cara tercepat untuk menghitung hash dari seluruh tabel