mysql group_concat作为set语句的值
我正在尝试用几行的concated值更新一个字段 这是表a: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
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字段
?