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

Oracle Query:Bagaimana membandingkan dua kolom dari tabel yang berbeda yang memiliki nilai yang dipisahkan koma

Anda dapat mencapai ini menggunakan TRANSLATE dan TRIM fungsinya sebagai berikut.

SQL> with t1 as
  2  (select 1 as product_id, 'O,G,E,H,R' as prod_name from dual union all
  3  select 2, 'P,D,H,P,N' from dual union all
  4  select 3, 'C,D,A,D,P' from dual union all
  5  select 4, 'E,D,A,D,P' from dual),
  6  t2 as
  7  (select 5 as product_id, 'R,O,G,E,H' as prod_name from dual union all
  8  select 6 as product_id, 'P,D,H,N,P' as prod_name from dual union all
  9  select 7 as product_id, 'C,D,A,D' as prod_name from dual union all
 10  select 8 as product_id, 'C,D,A,P,D' as prod_name from dual)
 11  SELECT
 12      T1.PRODUCT_ID,
 13      T2.PRODUCT_ID
 14  FROM
 15      T1
 16      JOIN T2 ON TRIM('#' FROM TRANSLATE(T1.PROD_NAME, T2.PROD_NAME, '#')) IS NULL;

PRODUCT_ID PRODUCT_ID
---------- ----------
         1          5
         2          6
         3          8

SQL>

Kueri ini menganggap bahwa nama_prod Anda tidak memiliki # karakter dalam salah satu nilai.

Semangat!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL bukan ekspresi GROUP BY dengan OracleSQL dan InnerQuery Error

  2. java.sql.SQLException:ORA-01843:bukan bulan yang valid

  3. Cara menulis prosedur PL/SQL dengan parameter input x dan input/output dari parameter x digabungkan

  4. Basis data Oracle Pra-Built untuk pembelajaran dan pengujian menggunakan Oracle Developer VM

  5. Metode Pengumpulan:Fungsi PERTAMA &TERAKHIR Dalam Database Oracle