sql语句或存储过程,根据表A中一个字段能查询出表B中多条记录,将表B的一个字段存入表A中的一个新字段里

sql语句或存储过程,根据表A中一个字段能查询出表B中多条记录,将表B中的一个字段存入表A中的一个新字段里。如果对应多条记录,不同字段用逗号分开。举例:表A:codena... sql语句或存储过程,根据表A中一个字段能查询出表B中多条记录,将表B中的一个字段存入表A中的一个新字段里。如果对应多条记录,不同字段用逗号分开。
举例:表A:code name 新增
1 A null

2 B null

表B:code name1 name2
1 A 111

2 A 222

3 B 333

执行sql或存储过程后实现
表A:
code name 新增
1 A 111,222

2 B 333
以上只是举一个例子,这样的表A有3000多个,对应的表B更多。如何用sql或存储过程实现以上功能
展开
 我来答
百度网友d84dd6d
推荐于2016-03-26 · TA获得超过477个赞
知道小有建树答主
回答量:537
采纳率:100%
帮助的人:357万
展开全部
Select a.code,a.name,b.name2 from a left join

(Select distinct name1,
name2=(select name2+',' from b where name1=t.name1 for xml path('') )
from b as t) as b on a.name=b.name1
差不多就这个样子吧
追问
不是查询,是要更新。update的。表A可能对应多个表B,具体对应多少个未知。大神,求搭救。
追答
更新也是一样啊
update a set 新增=b.name2 from a,
(Select distinct name1,
name2=(select name2+',' from b where name1=t.name1 for xml path('') )
from b as t) as b where a.name=b.name1
重点是把B表name1相同的name2合到一起,然后跟一般的两个表一样来做就行了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式