Pracuję nad skomplikowanym problemem, ale uproszczę go do tego problemu.
Mam dwa stoliki
A [ID, column1, column2, column3]
B [ID, column1, column2, column3, column4]
i chcę zaktualizować trzeci:
C [ID, column1, column2,column3]
Aktualizuję kolejną trzecią tabelę za pomocą tego zapytania.
UPDATE C
set column1=t.firstTab, column2=t.secondTab, column3=t.thirdTab
from (select A.column1 as firstTab, B.column2 as secTab,
(A.column1 + B.column2) thirdTab
from A, B limit 1; ) as t ;
Mam:
UPDATE 0
Po uruchomieniu tego zapytania:
select A.column1 as firstTab, B.column2 as secTab, (A.column1 + B.column2) thirdTab
from A, B limit 1;
Mam wyniki. Czy coś brakuje?
Przykładowe dane: http://sqlfiddle.com/#!15/e4d08/5
źródło