我有两个桌子。一个是我要更新的“ new_content ”。第二个是“ 文件”。我想更新new_content表内容列,添加与ID相关的文件。
文件表:
new_content_id | filename
-------------------------
1 | file1
1 | file2
3 | file3
3 | file4
5 | file5
new_content表:
id | content
----------------------------
1 | text1
2 |
3 | text2
4 | text3
5 | text4
我希望new_content表是:
id | content
----------------------------
1 | text1 file1 file2
2 | text2
3 | file3 file4
4 | text3
5 | text4 file5
我写了这段代码:
UPDATE `new_content` n
INNER JOIN files f
ON n.id = f.subpage_id
SET n.content = concat(n.content,'<br>br>',f.filename);
对于每个内容,它仅更新文件中的一行。
结果:
id | content
----------------------------
1 | text1 file1
2 | text2
3 | file3
4 | text3
5 | text4 file5
有人可以帮忙吗?
编辑:
与答案有关,我无法直接更新,但可以编写选择查询并解决问题。谢谢。
SELECT GROUP_CONCAT(DISTINCT f.filename
ORDER BY f.filename) FROM`new_content` n
INNER JOIN files f
ON n.id = f.subpage_id
GROUP BY f.subpage_id
ORDER BY f.subpage_id;