我有下表:
order_temp
表
|---------------------|------------------|------------------|
| order_id | sap_number | product_name |
|---------------------|------------------|------------------|
| 1 | 123 | earphones |
|---------------------|------------------|------------------|
| 2 | 123 | battery |
|---------------------|------------------|------------------|
| 3 | 456 | charger |
|---------------------|------------------|------------------|
| 4 | 789 | phone |
|---------------------|------------------|------------------|
order
表
|---------------------|------------------|
| order_id | sap_number |
|---------------------|------------------|
| 1 | 123 |
|---------------------|------------------|
| 2 | 456 |
|---------------------|------------------|
| 3 | 789 |
|---------------------|------------------|
我想将数据插入到order_item表中,如果sap_number相同,则该数据应该具有相同的order_id。它应该看起来像这样:
order_item
表:
|---------------------|------------------|------------------|
| order_item_id | order_id | product_name |
|---------------------|------------------|------------------|
| 1 | 1 | earphones |
|---------------------|------------------|------------------|
| 2 | 1 | battery |
|---------------------|------------------|------------------|
| 3 | 2 | charger |
|---------------------|------------------|------------------|
| 4 | 3 | phone |
|---------------------|------------------|------------------|
请帮助我查询order_item表的插入查询。
答案 0 :(得分:1)
您可以使用此简单查询:
INSERT INTO order_item (order_id,product_name)
SELECT b.order_id,a.product_name
FROM order_temp a
left join order b
on a.sap_number=b.sap_number
答案 1 :(得分:0)
最简单的方法是使用子查询:
INSERT INTO order_item(order_id, product_name)
VALUES ((SELECT order_id,product_name FROM order
INNER JOIN order_temp ON order.sap_number = order_temp.sap_number);