mysql - 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; 他们都返回了一条错误消息,我想不出任何其他解决方案。
你能帮我么?谢谢!
解决方案
我把问题复杂化了,需要修改表之间的逻辑连接。
解决方案:
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);
推荐阅读
- android - Firebase RemoteConfig 每次都不是在缓存过期后调用
- android - 如何在 LifecycleObserver 中获取 LifecycleOwner?
- c - 仅将输入过滤为数字。C
- tensorflow - 平滑骰子损失如何区分?
- javascript - 如何在获取的帮助下在标头中传达身份验证令牌?
- python - 使用 selenium 从网站获取跨度文本
- ruby-on-rails - 如何在运行时指定额外的 ActiveModel Serializer 属性?
- javascript - 更改数组或列表中的变量
- html - 子元素:在 Internet Explorer 上悬停不工作 (HTML/CSS)
- javascript - 在 UpdatePanel 内的 Javascript 中使用 ASP.NET 变量