sql >> Database >  >> RDS >> Oracle

Werk rijen in de ene tabel bij met gegevens uit een andere tabel op basis van een kolom in elke tabel die gelijk is

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
      );

Of dit (als t2.column1 <=> t1.column1 veel op één is en iedereen goed is):

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. Oracle naar PostgreSQL:BEGIN MET/VERBIND DOOR

  2. Hoe praat Access met ODBC-gegevensbronnen? Deel 2

  3. Hoe op te lossen toegang geweigerd voor gebruiker 'root'@'localhost' (met wachtwoord:Ja) bij verbinding maken met MySQL-database

  4. Oplossen:Geen geschikt stuurprogramma gevonden voor jdbc:mysql://localhost/dbname-fout bij gebruik van pools?