I have two tables:
A [ID, column1, column2, column3]
B [ID, column1, column2, column3, column4]
A
will always be subset of B
(meaning all columns of A
are also in B
).
I want to update a record with a specific ID
in B
with their data from A
for all columns of A
. This ID
exists both in A
and B
.
Is there an UPDATE
syntax or any other way to do that without specifying the column names, just saying "set all columns of A"?
I'm using PostgreSQL, so a specific non-standard command is also accepted (however, not preferred).
You can use the non-standard FROM clause.
UPDATE b
SET column1 = a.column1,
column2 = a.column2,
column3 = a.column3
FROM a
WHERE a.id = b.id
AND b.id = 1