I have tried this gforge=> UPDATE data_table gforge-> SET field2_new=(SELECT new_id FROM mapping_table WHERE old_id= data_table.field2_old);
and gforge-> update data_table set field2_new_=mt.new_id FROM data_table dt, mapping_table mt WHERE dt.field2_old=mt.old_id; but initially I got error. "ERROR: column data_table.old_brand_id does not exist" It took me an eternity to realize that it is because of a missing entry in the mapping table. I have added the record and the update run correctly. Thank you very much Kindest regards, Venelin Arnaudov Richard Huxton wrote: > Venelin Arnaudov wrote: >> Hi >> >> I want to update the values of one column of a table based on the >> matches in a second table > >> something like >> update table1 >> set table1.field2_new=table2.new_id >> from table2 >> where table1.field2_old=table2.old_id; > > Did you try it? > > http://www.postgresql.org/docs/8.2/static/sql-update.html > > PG has a non-standard "FROM" extension for just this purpose. > ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org