【问题标题】:Mysql Insert data in third table based on data from two tables [duplicate]Mysql根据两个表中的数据在第三个表中插入数据[重复]
【发布时间】:2018-08-13 06:24:57
【问题描述】:

我有以下表格:

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      |
|---------------------|------------------|

如果 sap_number 相同,我想在 order_item 表中插入数据,该表应该具有相同的 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 表进行插入查询。

【问题讨论】:

    标签: mysql


    【解决方案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
    

    【讨论】:

      【解决方案2】:

      最简单的方法是使用子查询:

      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);
      

      【讨论】:

        猜你喜欢
        • 2018-03-23
        • 2021-11-11
        • 2023-04-06
        • 1970-01-01
        • 2016-04-01
        • 1970-01-01
        • 2016-07-01
        • 1970-01-01
        • 2013-04-27
        相关资源
        最近更新 更多