Как скопировать один столбец таблицы в другой столбец таблицы в PostgreSQL, сравнивая тот же идентификатор

Мне нужно скопировать ref_id1 из таблицы1 В столбец ref_id2 в таблице2, будут сопоставлены две вещи: id (одно и то же имя столбца), a_ref1 & b_ref1 (имена столбцов отличаются, но числовые значения будут идентичны).

Таблица 1

ID      ref_id1                     a_ref1
9     2.3456762498;               1367602349
9     1.61680784158;              1367653785
9     2.63461385408;              1367687746
9     0;                          1367688520
9     0.780442217152;             1367740313
9     3.18328461662;              1367773889
9     0.775471247616;             1367774978

Таблица 2

ID          b_ref1                      ref_id2
9        1367602349;
9        1367740313;
9        1367774978;
2        1357110511;
2        1357186899;
2        1357195928;
2        1357199525;

В двух словах нужно скопировать ref_id1 в ref_id2, сравнив id и a_ref1 с b_ref1. Пожалуйста, дайте мне знать, как это сделать.

Ответ 1

UPDATE public.clean_trips_byobu
SET trip_dist = clean_trips.bktp_mt_total
FROM public.clean_trips 
WHERE public.clean_trips.obu_id = clean_trips_byobu.obu_id
AND clean_trips.bktp_trip_id = clean_trips_byobu.trip_id;

Надеюсь, что это сработает для вас.

Ответ 2

UPDATE Table2 --format schema.table_name
SET 
ref_id2 = table1.ref_id1
FROM table1 -- mention schema name
WHERE table1.id = table2.id
AND 
table1.a_ref1 = table2.b_ref1;

Ответ 3

Вы хотите

UPDATE Table2
SET ref_id2 = table1.ref_id1
FROM table1
WHERE table1.id = table2.id
AND table1.a_ref1 = table2.b_ref1;

Изменить Это то, что вы действительно хотите

Как видно здесь (грубо)

Ответ 4

Я думаю, что это должно сработать:

UPDATE Table2
SET ref_id2 = ref_id1
FROM Table2 
   JOIN Table1 ON 
       Table2.Id = Table1.Id AND Table2.a_ref1 = Table1.b_ref1