我有 2 个表格,数据如下
表1:产品交易
Product Id | TransactionId
1 | 90
1 | 91
2 | 91
2 | 93
表 2:产品注册
Product Id | EnrollmentId
1 | 31
1 | 32
2 | 41
2 | 43
我有一个名为 ProductEnrollmentTransaction 的新表,我必须通过引用表 1 和 2 来插入行。首先,从表 2 中获取 Product Id,然后从表 1 中获取 TransactionId,然后插入到表 3 中。例如,Enrollment 31 和32 与 Product Id 1 关联,Product Id 与 TransactionId 90 和 91 关联。因此,新表必须具有基于产品 Id 映射的 transactionId 和 EnrollmentId。
TransactionId | EnrollmentId
90 | 31
91 | 31
90 | 32
91 | 32
91 | 41
93 | 41
91 | 43
93 | 43
如何在Oracle(19C)中通过引用2个表编写插入查询?该查询必须一直到达生产环境。请帮助我们。
使用
INSERT INTO ... SELECT ...
和 INNER JOIN
这两个表:
INSERT INTO ProductEnrollmentTransaction (TransactionId, EnrollmentId)
SELECT t.TransactionId,
e.EnrollmentId
FROM ProductTransaction t
INNER JOIN ProductEnrollment e
ON (t.ProductID = e.ProductID)