Как скопировать один столбец таблицы в другой столбец таблицы в 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