我需要将table1中的ref_id1复制到table2中的列ref_id2中,匹配的两个东西将是: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;
简而言之,需要通过比较id和a_ref1与b_ref1来将ref_id1复制到ref_id2,请让我知道如何做到这一点。
答案 0 :(得分:27)
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;
希望它对你有用。
答案 1 :(得分:9)
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;
答案 2 :(得分:3)
你想要的是
UPDATE Table2
SET ref_id2 = table1.ref_id1
FROM table1
WHERE table1.id = table2.id
AND table1.a_ref1 = table2.b_ref1;
修改这是您真正想要的
见here(粗略地)
答案 3 :(得分:0)
我认为这应该有效:
UPDATE Table2
SET ref_id2 = ref_id1
FROM Table2
JOIN Table1 ON
Table2.Id = Table1.Id AND Table2.a_ref1 = Table1.b_ref1