sra*_*raj 4 database sql-server
STRAGG函数实现将结果作为单个列值返回.Oracle的实现似乎非常通用,可以用于不同的表(和关系).可以为SQL Server实现类似的行为.在Web上进行搜索似乎只返回硬编码实现而不是通用实现.我们有任何已知的Sql服务器解决方案吗?
有一个很好的XML解决方案,它被广泛使用.如果你聚合的字符串没有XML无效或XML特殊的字符串,这是最简单的,这是一个例子.
SELECT *
FROM
(
SELECT x AS [data()]
FROM
(
SELECT 'something'
UNION ALL
SELECT 'something else'
UNION ALL
SELECT 'something & something'
) y (x)
FOR XML PATH('')
) z (final)
Run Code Online (Sandbox Code Playgroud)
这个例子来自Tony Rogerson的帖子http://sqlblogcasts.com/blogs/tonyrogerson/archive/2006/07/06/871.aspx
你可以做的远不止这个简单的例子所示.您可以指定聚合中项目的顺序(在派生表中放置ORDER BY),您可以对其进行分组和连接,以便获得多个结果行,您可以更改分隔符,依此类推.以下是有关此技术的其他几个链接:
| 归档时间: |
|
| 查看次数: |
1628 次 |
| 最近记录: |