SQL查询,将不同编码下的不良原因合并在一起,请大湿们指导下,谢谢!

littleredhorse 2015-07-15 08:31:06
问题:在SQL数据库中,使用查询语句希望得到一个报表,同一个物料编码下的不良因合并在一单元格,以备另外的查询后关联“不良原因合并”内容。目前使用了一个 “Select ',' + aa.不良原因 ,FROM aa FOR XML PATH('')”,但是查询出来的结果都合并为一个单元格了,没有按照编码来分组,所以不符合我的需求,希望高手们指点一下新的语句,万分感谢。
注:不是在EXCEL中完成,是要求在SQL完成。
希望得到的图片结果
...全文
82 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

declare @tb table(序号 int,编码 varchar(10),发生次数 int, 不良原因 varchar(100))
insert into @tb
select 1,'A',2,'原因1' union all
select 2,'A',1,'原因2' union all
select 3,'A',1,'原因3' union all
select 4,'B',183,'原因2' union all
select 5,'B',49,'原因5' union all
select 6,'B',22,'原因6' union all
select 7,'C',22,'原因2' union all
select 8,'C',12,'原因3' union all
select 9,'C',8,'原因4'
select 编码,STUFF((select ','+tb2.不良原因 from @tb tb2 where tb1.编码=tb2.编码 order by tb2.序号 for xml path('')),1,1,'') as '不良原因合并' from @tb tb1 group by 编码
回复
AcHerat 2015-07-15

select 编码,stuff((Select ',' + s.不良原因 ,FROM  aa s where t.编码 = s.编码 FOR XML PATH('')),1,1,'') as 不良因
from aa t
group by 编码
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-07-15 08:31
社区公告
暂无公告