Aktualizacja kolumny danymi z innej kolumny

0

Jak powinno wyglądać zapytanie? Mam dwie tabele A i B które posiadają trzy kolumny ID, STATUS, CENA i kolumna B dodatkowo posiada WIEK. I chce w tabeli A zaktualizować STATUS danymi z STATUS z kolumny B jak ID są równe

1

jak nie chcesz pętli robić to w oracle powinno się udać coś takiego:

UPDATE 
(SELECT A.status as OLD, B.status as NEW
 FROM TableA A  INNER JOIN TableB B ON A.ID = B.ID
) t
SET t.OLD = t.NEW

można też spróbować merge

MERGE into table1
USING table2
ON (table1.id = table2.id)
WHEN MATCHED THEN UPDATE SET table1.status = table2.status

lub najprostszy

for rec in (select id, status from tabela2) loop
  update tabela1
       set status = rec.status
  where id = rec.id;
 end loop;

pisałem z głowy bo nie mam pod ręką bazki

1
update A
set STATUS = B.STATUS 
from B 
where A.ID = B.ID

1 użytkowników online, w tym zalogowanych: 0, gości: 1