公告
财富商城
积分规则
提问
发文
2020-10-31 13:54发布
疯言疯语
有这样两个表 a表和b表,两个表根据id列可以匹配。a表的ID是主键,一个a表id可以匹配b表多条记录。现在想把b表里面的bak1更新到a表的bak4,当id一对多的情况,怎么把b表的值更新到a表,中间用逗号隔开。 求教各位大神
b表先根据a表的主键进行列转行,然后那这列转行的数据根据关联Id进行update的更新就可以了
b表先进行分组,然后将分组后的结果跟a表关联
sql2017以上可以使用string_agg函数
update a set a.bak4=t.bak from a join ( select b.id,string_agg(b.bak1, ', ') as bak from a join b on a.id=b.id group by b.id ) t on a.id=t.id
https://stackoverflow.com/questions/273238/how-to-use-group-by-to-concatenate-strings-in-sql-server
最多设置5个标签!
b表先根据a表的主键进行列转行,然后那这列转行的数据根据关联Id进行update的更新就可以了
b表先进行分组,然后将分组后的结果跟a表关联
sql2017以上可以使用string_agg函数
https://stackoverflow.com/questions/273238/how-to-use-group-by-to-concatenate-strings-in-sql-server