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

Perbarui baris dalam satu tabel dengan data dari tabel lain berdasarkan satu kolom di masing-masing menjadi sama

update 
  table1 t1
set
  (
    t1.column1, 
    t1.column2
      ) = (
    select
      t2.column1, 
      t2.column2
    from
      table2  t2
    where
      t2.column1 = t1.column1
     )
    where exists (
      select 
        null
      from 
        table2 t2
      where 
        t2.column1 = t1.column1
      );

Atau ini (jika t2.column1 <=> t1.column1 banyak banding satu dan siapa pun baik):

update 
  table1 t1
set
  (
    t1.column1, 
    t1.column2
      ) = (
    select
      t2.column1, 
      t2.column2
    from
      table2  t2
    where
      t2.column1 = t1.column1
    and
      rownum = 1    
     )
    where exists (
      select 
        null
      from 
        table2 t2
      where 
        t2.column1 = t1.column1
      ); 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa arti kesalahan Oracle berikut:indeks kolom tidak valid?

  2. String koneksi Oracle tanpa file tnsnames.ora

  3. cara menambahkan detik di stempel waktu oracle

  4. TAN() Fungsi di Oracle

  5. C# - Cara mendapatkan nilai tipe mentah oracle long