首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

从数据表里查询出某个字段的结果(多条,部类为字符串),不使用游标,将所有的结果拼接成一个字符串可以吗

2013-01-01 
从数据表里查询出某个字段的结果(多条,类型为字符串),不使用游标,将所有的结果拼接成一个字符串可以吗?比

从数据表里查询出某个字段的结果(多条,类型为字符串),不使用游标,将所有的结果拼接成一个字符串可以吗?
比如select f1 from t where...得到2条记录,比如'A','B'

如果希望获得 'A'+'B',只有通过使用游标吗?

有其他办法吗?
[解决办法]

declare @s varchar(1000)
select @s=isnull(@s+'+','')+f1 from t where ...
select @s

[解决办法]

引用:
比如select f1 from t where...得到2条记录,比如'A','B'

如果希望获得 'A'+'B',只有通过使用游标吗?

有其他办法吗?
没有任何理由使用游标,如果你只需要获得一个数据,可以用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



热点排行