sql >> Databáze >  >> RDS >> Oracle

Aktualizujte řádky v jedné tabulce daty z jiné tabulky na základě stejného sloupce v každém

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

Nebo toto (pokud je t2.column1 <=> t1.column1 mnoho ku jedné a kdokoli z nich je dobrý):

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. Vývoj PostgreSQL pro Windows, část 2

  2. Skupiny dostupnosti SQL Server AlwaysOn:Instalace a konfigurace, část 1

  3. MySQL InnoDB neuvolňuje místo na disku po smazání datových řádků z tabulky

  4. Představujeme přehrávání – nová diagnostika bodu v čase pro Spotlight Cloud