mysql group_concat作为set语句的值

mysql group_concat作为set语句的值,mysql,subquery,group-concat,Mysql,Subquery,Group Concat,我正在尝试用几行的concated值更新一个字段 这是表a: ID | single_value 1 | hello 2 | something 1 | world 42 | another someting 1 | bye bye 表b: ID | concated_field 1 | '' (i.e. empty ) 2 | '' 3 | '' 4 | '' 因此,表b应为: ID | concated_field 1 | hello, world, bye b

我正在尝试用几行的concated值更新一个字段

这是表a:

ID | single_value  
1  | hello
2  | something
1  | world
42 | another someting
1  | bye bye

表b:

ID | concated_field
1  | ''  (i.e. empty )
2  | ''
3  | ''
4  | ''
因此,表b应为:

ID | concated_field
1  | hello, world, bye bye
2  | something
3  | ''
42 | another something

我的问题是:

    update data.table b, data.content a
    set b.concated_field= (
       select group_concat(single_value separator ', ') from data.table
    )
    where b.ID= a.ID;
但我的结果是:

ID | concated_field 
1  | hello, something, world,another something, bye bye
2  | ''
3  | ''
42 | ''

似乎哪里的部分是错误的,但我不明白。
我真的在寻求帮助!!:)

您需要在子查询中使用
WHERE
groupby
子句来实现预期结果

 update data.table b, data.content a
    set b.concated_field= (
       select group_concat(single_value separator ', ') 
       from data.table 
       where data.table.ID = b.ID
       group by data.table.ID
    )
    where b.ID= a.ID;

不在列中保存CSV为什么要在数据库中保存此
concated\u字段