# Pastebin 9FComlVY WITH data (recording_msid , recording_mbid , release_mbid , release_name , artist_mbids , artist_credit_id , artist_credit_name , recording_name , match_type) AS ( VALUES ('be2dc099-bbcf-42aa-a71e-387d8c6c6bae'::UUID, 'c92f69ac-06f3-4d09-a174-fb1d82652ae6'::UUID, 'b2fb8e24-2e3c-430e-951a-85dd6a3623a9'::UUID, 'Der Weg einer Freiheit', '{2d75fdbd-2158-4ab4-a9ac-eec8d997d70b}'::UUID[], 615681, 'Der Weg einer Freiheit', 'Ruhe', 'exact_match'::mbid_mapping_match_type_enum), ('70399bbe-7c62-41f9-b4af-3bfe23519ee1'::UUID, 'f5d93f6a-8daa-4a62-9d81-8d67e74f169c'::UUID, 'eb46d39d-58f1-443d-8f48-a9f2b5f6cb86'::UUID, 'Finisterre', '{2d75fdbd-2158-4ab4-a9ac-eec8d997d70b}'::UUID[], 615681, 'Der Weg einer Freiheit', 'Skepsis, Part II', 'med_quality'::mbid_mapping_match_type_enum), ('445fc77d-08a6-4c19-b63a-a13155b951c5'::UUID, 'f5d93f6a-8daa-4a62-9d81-8d67e74f169c'::UUID, 'eb46d39d-58f1-443d-8f48-a9f2b5f6cb86'::UUID, 'Finisterre', '{2d75fdbd-2158-4ab4-a9ac-eec8d997d70b}'::UUID[], 615681, 'Der Weg einer Freiheit', 'Skepsis, Part II', 'med_quality'::mbid_mapping_match_type_enum) ), join_insert AS ( INSERT INTO listen_mbid_mapping AS mbid ( recording_mbid , release_mbid , release_name , artist_mbids , artist_credit_id , artist_credit_name , recording_name , match_type) SELECT DISTINCT recording_mbid , release_mbid , release_name , artist_mbids , artist_credit_id , artist_credit_name , recording_name , match_type FROM data ON CONFLICT (recording_mbid) DO UPDATE SET release_name = mbid.release_name , artist_mbids = mbid.artist_mbids , artist_credit_id = mbid.artist_credit_id , artist_credit_name = mbid.artist_credit_name , recording_name = mbid.recording_name , match_type = mbid.match_type , last_updated = now() RETURNING id AS join_id, recording_mbid, release_mbid, artist_credit_id ) INSERT INTO listen_join_listen_mbid_mapping (recording_msid, listen_mbid_mapping) SELECT d.recording_msid , ji.join_id FROM data d JOIN join_insert ji ON ji.recording_mbid = d.recording_mbid AND ji.release_mbid = d.release_mbid AND ji.artist_credit_id = d.artist_credit_id ON CONFLICT DO NOTHING;