提问者:小点点

如何连接两个表,然后用新的主键插入第三个表?


以下是我现在的声明:

INSERT INTO jobs 
SELECT * 
FROM proposals 
JOIN commissions 
   ON proposals.commission_id = commissions.job_id 
WHERE proposals.proposal_id = '123'

它工作得很好,但会产生一些主键冲突。所以,当输入新行时,我想做的是:

新建主键+佣金表数据+建议书表数据

有什么想法吗?


共1个答案

匿名用户

也许只是从row_number生成新列?

INSERT INTO jobs 
SELECT 
  row_number() over() as new_key,
  * 
FROM proposals 
JOIN commissions 
   ON proposals.commission_id = commissions.job_id 
WHERE proposals.proposal_id = '123'