高效连接 SQL Server 组中的字符串
本文解决了在 SQL Server 中合并组内字符串数据的问题。 想象一下您的数据结构如下:
<code class="language-sql">id | Name | Value ---|-----|------ 1 | A | 4 1 | B | 8 2 | C | 9</code>
目标是将其转变为:
<code class="language-sql">id | Column ---|-------- 1 | A:4, B:8 2 | C:9</code>
虽然游标或循环等传统方法是可能的,但它们可能效率低下。 SQL Server 2005 及更高版本中提供了一种更好的方法,它利用 FOR XML PATH
和 STUFF
。
此方法的工作原理如下:
#YourTable
)来保存样本数据。STUFF
和FOR XML PATH
来执行串联。 FOR XML PATH
生成 XML,有效地对每个 ID 的字符串进行分组。 STUFF
然后优雅地将这个 XML 转换为逗号分隔的字符串。id
分组以实现所需的聚合。这会产生简洁且高性能的查询,避免迭代过程的开销。 输出与所需的逗号分隔字符串格式匹配。
以上是如何使用 SQL Server 有效地连接组内的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!