gpt4 book ai didi

mysql - 将查询结果插入到带有连接的同一个表中

转载 作者:行者123 更新时间:2023-11-29 20:46:43 26 4
gpt4 key购买 nike

我一直使用这个网站来寻找问题的答案,但这是我第一次提出问题。

我有两个表,想要查询这两个表并将结果插入到表 1 的两列中。如下所示:

SELECT a.column1 from table1 a LEFT Join ( SELECT 'column1' from 'table2' ) AS a ON where a.column1 like '%column1.table2%';

基本上然后将结果插入表1的第5列和第6列

我知道这是不正确的,因为它不起作用并且不会更新任何内容。为了进行测试,我在运行更新命令之前运行选择语句进行验证。另一种表达我需要的方式是:

如果表 1 中的列 1 与表 2 中的列 1 类似,则使用表 2 中列 2 中的对应条目更新表 1 中的列 5,并使用表 1 中的列 7 以及表 2 中列 3 中的对应条目更新表 1 中的列 6;

我意识到这不是最好的解释,但这是我可以解释我想要的内容的最佳方式。如果需要更多信息,请提出问题,我会尽力解释。

感谢您提供的任何意见。

最佳答案

在 MySQL 中,您可以使用表列表中的联接在单个更新语句中执行多表更新:

update t1 inner join t2 on t1.column1 like concat('%',t2.column1, '%')
set t1.column5=t2.column2, t1.column6=t2.column7

但是,使用 like 不一定是最好的主意,因为 t2 中的多于 1 条记录可能与 t1 中的同一记录匹配,因此单个 t1 记录可能会在单次运行期间更新多次。

您对 t1 中的哪些字段应该由 t2 中的哪个字段进行更新的描述不准确,无法真正说明其中的逻辑。

关于mysql - 将查询结果插入到带有连接的同一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38396117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com