日期:2014-05-17 浏览次数:20561 次
declare @s varchar(1000) select @s=isnull(@s+'+','')+f1 from t where ... select @s
------解决方案--------------------
[Quote=引用:] 比如select f1 from t where...得到2条记录,比如'A','B' 如果希望获得 'A'+'B',只有通过使用游标吗? 有其他办法吗? [/Quote]没有任何理由使用游标,如果你只需要获得一个数据,可以用1楼的方法 如果是数据集,就是合并字符串的内容 以下是利用XML合并字符串的例子 SELECT CustomerID, (SELECT CAST(OrderID AS VARCHAR(10)) + ';' AS [text()] FROM dbo.Orders AS O WHERE O.CustomerID = C.CustomerID ORDER BY OrderID FOR XML PATH('')) AS Orders FROM dbo.Customers AS C; GO