[英]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.