当前位置: 代码迷 >> Sql Server >> 从数据表里查询出某个字段的结果(多条,门类为字符串),不使用游标,将所有的结果拼接成一个字符串可以吗
  详细解决方案

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

热度:53   发布时间:2016-04-27 10:46:07.0
从数据表里查询出某个字段的结果(多条,类型为字符串),不使用游标,将所有的结果拼接成一个字符串可以吗?
比如select f1 from t where...得到2条记录,比如'A','B'

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

有其他办法吗?

------解决方案--------------------
SQL code
declare @s varchar(1000)select @s=isnull(@s+'+','')+f1 from t where ...select @s
------解决方案--------------------
SQL code
[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 OrdersFROM dbo.Customers AS C;GO
  相关解决方案