SQLServer实现拼接一排成一行行的内容

SQLServer实现拼接一排成一行行的内容
接下来,让我们先看看示例代码:

样品

昨天,我遇到了SQL Server的一个问题:我需要编写一个存储过程来处理多个表中的数据。最后,问题是我想把一列的多行拼接成一行,例如,表中有两列数据。

类别
名称

AAA
企业1
AAA
企业2
AAA
企业3
血脑屏障
企业4
血脑屏障
企业5
我想把这个表格转换成以下格式:
类别
名称

AAA
企业1家,企业2家,企业3家
血脑屏障
企业4,企业5
开始很头痛(当然不会没有这种感觉,它必须是一个头痛啊(* ^ __ ^ *)),从网上找信息,是要找到一个简单方便的方法。现在,总结一下,供大家学习

原来的表名是table_a,和实现代码如下:

选择
类别,
名称=(
(东西
(选择',' +名字从table_a类别= A类XML路径('')),
1,
1,
'


从table_a作为一组类别
在这里,我们使用SQL Server 2005版本后添加的内容和XML路径。首先,让我们来讨论SQL在上述句子中的作用。然后我们将详细解释这两个用法的用法。

复制代码代码如下所示:

对于XML路径()
这个句子以XML的形式显示

复制代码代码如下所示:

东西((选择,+ ep_name从ep_detail哪里ep_classes = a.ep_classes XML路径()),1, 1,)
这是第一次删除拼接的内容。

的东西:

1、影响

东西(参数,字符,长度,param2)

从startIndex(所有1的SQL,而不是0)在参数,删除字符长度和param2代替删除字符。

2。参数

参数:字符数据的表达。一个参数可以是常量、变量、字符或二进制数据列的列。

指数:一个整数值,指定插入和删除的起始位置。如果startIndex和长度是负的,则返回空字符串。如果指数大于参数,空字符串是returned.startindex可以bigint型。

长度:一个整数,指定要删除的字符数。如果长度比参数,在参数的最后一个字符被删除最多。长度可以是bigint型。

param2,返回类型。如果参数是一个支持的字符数据类型,字符数据返回。如果参数是一个支持二进制数据类型、二进制数据返回。

样品

选择的东西('abcdefg,1,0,'1234 ')--结果是'1234abcdefg
选择的东西('abcdefg,1,1,'1234 ')--结果是'1234bcdefg
选择的东西('abcdefg,2,1,'1234 ')--结果is'a1234cdefg
选择的东西('abcdefg,2,2,'1234 ')--结果is'a1234defg
XML路径

对于XML路径,有些人可能知道有些人可能不知道,事实上,它是以XML形式显示查询结果集。有了它,我们可以简化我们的查询语句,并实现我们可能需要使用函数存储过程的一些工作

假如有,学生选课表(stu_courses)存储。
接下来,我们将查看XML路径的查询结果,如下所示:
复制代码代码如下所示:

选择stu_name,stu_course从stu_courses XML路径;
结果如下:
可以看出,对于XML路径,可以将行的查询结果输出到XML。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部