我搜索了很多,但还没找到解决问题的方法。现在我希望有人可以帮助我。
我在MySQL数据库中有两个表,两个表都有名称和 ArticleID
列我想要做的是将表格名称从表1复制到表2,其中ArticleID匹配。所有名称都应在表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,我似乎无法通过我自己解决这个问题。
我希望你明白我想要的东西: - )
Melker
答案 0 :(得分:1)
INSERT INTO TABLE2(id, names)
SELECT ArticleID, GROUP_CONCAT(Name)
FROM TABLE1 GROUP BY ArticleID;
答案 1 :(得分:0)
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,这有效