I try to migrate an existint text field into a many-to-many relationship.
x
offer
id work_days (text)
45 night-and-weekend
46 night-and-weekend
47 full-week
48 night-and-weekend
work_days
id work_days (text)
1 full-week
2 night-and-weekend
I would like to insert in offer_work_days
the correspondences to have this result
offer_work_days
offer_id work_days_id
45 2
46 2
47 1
48 2
How can I achieve this with sql (on postgres)?
Advertisement
Answer
You have to JOIN
the tables on the text
column, return only the id
columns and insert the result into your new table.
INSERT INTO offer_work_days
SELECT o.id, w.id
FROM offer o
JOIN work_days w
ON o.work_days = w.work_days