如何在postgres中的多对多联结表中插入数据?

时间:2018-12-03 18:07:42

标签: sql postgresql

目前,我有4个表: 原始:

job | company
jobA| companyA
jobB| companyA
jobA| companyB
...

职位名称:

job_id | job
1       | jobA
...

公司:

company_id | company
1          | companyA
...

我创建了一个联结表job_company:

job_company_id | job_id | company_id

联结表现在为空。如何在此表中插入正确的ID关系?

1 个答案:

答案 0 :(得分:0)

在postgres中,您可以编写一个从INSERT INTO...SELECT表开始的original查询,然后用companyjob进行JOIN操作以恢复相关ID。

INSERT INTO job_company
SELECT o.job, c.company_id, j.job_id
FROM original o
JOIN company c on c.company = o.company
JOIN job_title j on j.job = o.job