T SQL Group列,在一条记录中累积数据

时间:2015-03-15 06:57:45

标签: sql sql-server-2008

我正在尝试在SQL Server上编写查询以合并1条记录中的数据项

输入表:

sales_ref_no    Description
001 Hello
001 Hi
002 Dear
002 All
002 Please
003 Thanks

输出表:

sales_ref_no    Description
001 Hello | Hi
002 Dear | All | Please
003 Thanks

同一sales_ref_no下的描述使用|累积在同一记录下定界符

有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

Select 
  sales_ref_no,
  STUFF((
  SELECT ' | ' + B.Description
   FROM YOUR_TABLE B
   WHERE (B.sales_ref_no = A.sales_ref_no) 
   FOR XML PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)')
  ,1,2,'') AS Description
From YOUR_TABLE A
Group By sales_ref_no