mysql 如果有多个相互关联的条件,如何将数据从两个表复制到第三个表?

9gm1akwq  于 2022-11-21  发布在  Mysql
关注(0)|答案(1)|浏览(81)

我有三张table。
1.表格一(_O)
| 烙印|模型化|世代|发动机|
| - -|- -|- -|- -|
| 奥迪|第三季度|二〇一一年|pH 25的|
| 奥迪|第五季度|二〇一一年|pH 25的|
| 奥迪|无线电|二〇一二年|tz15|
| 宝马|三|二〇一一年|日37|
| 迷你型|库珀|二〇一六年|pkn 11编码|
1.表_二
| 姓名|父代|
| - -|- -|
| pH 25的|三个|
1.表格类别(_C)
| 标识符|姓名|父代|
| - -|- -|- -|
| 2. |奥迪|一个|
| 3. |第三季度|2个|
| 4. |二〇一一年|三个|
| 5. |宝马|一个|
| 6. |三|五个|
| 7. |二〇一一年|六个|
如何制定一个SQL查询,以便根据“Table_one”和“Table_Categories”表的数据,在列“name”中插入引擎,在列“parent”中插入其生成的id?(需要注意的是,第三个表中生成的id与第三个表中模型的id相连)

7lrncoxx

7lrncoxx1#

我花了一段时间来解释你的问题,但我想我明白你的要求-

INSERT INTO `Table_two` (`name`, `parent`)
SELECT `t1`.`engine`, `c1`.`id`
FROM `Table_one` `t1`
JOIN `Table_Categories` `c1`
    ON `t1`.`generation` = `c1`.`name`
JOIN `Table_Categories` `c2`
    ON `c1`.`parent` = `c2`.`id`
    AND `t1`.`model` = `c2`.`name`;

相关问题