2014-11-02 26 views
1

在SQL Server中,我使用STUFF,XML功能来使用此功能连接字符串。在这个过程之后,我必须更新记录的最后一个元素。连接表中的行

我的表看起来像这样:

id category 
------------- 
1  Pop 
1  Rock 
2  Pop 
3  Rock 

相同的ID类应|得到追加分隔符

Pop|Rock| as Pop|Rock 

这是我想要做的方式。但Stuff和XML正在破坏我的表现。

任何帮助,将不胜感激。

+1

你的xml'stuff'是怎么样的?你有一个示例查询? – 2014-11-02 09:24:51

+0

显示您的代码。但[这个问题](http://stackoverflow.com/questions/17591490/how-to-make-a-query-with-group-concat-in-sql-server)表明'STUFF,XML'是方式去做吧。 – Barmar 2014-11-02 09:27:05

+0

先发布你的连接陈述。 – gotqn 2014-11-02 09:45:17

回答

1

您的查询是否看起来像这样?

select id, 
     stuff((select '|' + category 
       from table t2 
       where t2.id = t.id 
       for xml path ('') 
      ), 1, 1, '') as categories 
from (select distinct id from table t) t; 

如果不使用此方法,SQL Server中还有其他方法,但我认为它们的性能会差得多。