首页 > 解决方案 > MySQL phpmyadmin 将两个不同表中的两个值和一个给定值插入到第三个表中

问题描述

我的问题是:我需要将两个不同表中的两个值和一个由练习给出的值插入到第三个表中。

首先,我认为我需要来自两个单独表的数据,因此:

SELECT tablename1.id
FROM `tablename1`
WHERE tablename1.name LIKE "%example%";
SELECT tablename2.id
FROM `tablename2`
WHERE tablename2.name LIKE "%example%";

第三个值由练习给出,它是一个数字

我想出了以下内容:

INSERT INTO tablename3 (tablename3.value1, tablename3.value2, tablename3.value3)
VALUES (SELECT tablename1.id FROM `tablename1` WHERE tablename.name LIKE "example", SELECT tablename2.id FROM `tablename2` WHERE tablename2.name LIKE "%example%"

加上 tablename3.value3 - 这将是练习给出的数字。

我的另一个尝试

INSERT INTO tablename3 (tablename3.value1, tablename3.value2, tablename3.value3)
VALUES (tablename3.value1 = (SELECT tablename1.id FROM `tablename1` WHERE tablename.name LIKE "example"), tablename3.value2 = (SELECT tablename2.id FROM `tablename2` WHERE tablename2.name LIKE "%example%"

然后我需要添加 tablename3.value3 - 这将是练习给出的数字。

tablename3.value 1 等于 tablename1.id;tablename3.value2 等于 tablename2.id;第三个值是给定的数字

我已经用几种句法结构和 INSERT INTO SELECT; 他们都返回了一条错误消息,我想不出任何其他解决方案。

你能帮我么?谢谢!

标签: mysqlsqlphpmyadminsql-insertmultiple-tables

解决方案


我把问题复杂化了,需要修改表之间的逻辑连接。

解决方案:

INSERT INTO tablename3 (tablename3,value1, tablename3.value2, tablename3.value3)
VALUES(
(SELECT tablename1.id FROM `tablename1` WHERE tablename1.name LIKE "example"),
(SELECT tablename2.id FROM `tablename2` WHERE tablename2.name LIKE "%example%"), number);

推荐阅读