繁体   English   中英

使用来自不同表中多行的信息更新一个表行

[英]Updating one table row with information from multiple rows in different table

我已经搜索了很多,但是还没有找到解决我问题的方法。 现在我希望有人可以在这里帮助我。

我在MySQL数据库中有两个表,并且两个表都有“ 名称”和“ ArticleID ”列

我想做的是将“名称”列中的内容从表1复制到与ArticleID匹配的表2中。 表2的“名称”列中的所有名称均应用逗号分隔。

在表1中,例如,“名称”列中有3行具有相同的内容,但每行都有唯一的ArticleID。 在其他3行中,有一个不同的名称,但ArticleID与前3行相同。

表格1

Name 1 - 1
Name 2 - 2
Name 3 - 3
Name 4 - 1
Name 5 - 2
Name 6 - 3

表2

1 - Name 1, Name 4
2 - Name 2, Name 5
3 - Name 3, Name 6

对于我来说,这通常不是问题,但是现在有多个具有相同ArticleID的行,而且我似乎无法自行解决。

我希望你明白我想要的:-)

麦尔克

INSERT INTO TABLE2(id, names)
SELECT ArticleID, GROUP_CONCAT(Name) 
FROM TABLE1 GROUP BY ArticleID;
UPDATE 
    TABLE2 
JOIN (SELECT ArticleID, GROUP_CONCAT(Name) AS Name FROM TABLE1 GROUP BY ArticleID) TABLE1
ON TABLE2.ArticleID = TABLE1.ArticleID
SET TABLE2.Name = TABLE1.Name
WHERE TABLE2.ArticleID = TABLE1.ArticleID

我实际上不得不使用UPDATE,这有效

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM