科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道解析SQL Server 2005 溢用之:合并列值

解析SQL Server 2005 溢用之:合并列值

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

很多人可能发现,无论是在sql 2000还是在 sql 2005 中,都没有提供字符串的聚合函数, 所以当我们在处理下列要求时会比较麻烦, 但在 SQL Server 2005中, 这种情况得到了改善。

作者:赛迪网 zise 来源:天新网 2008年4月23日

关键字: 数据库 Mssql SQL SQL Server

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

2. 新的解决方法

示例数据 
DECLARE @t TABLE(id int, value varchar(10))

INSERT @t SELECT 1, "aa"

UNION ALL SELECT 1, "bb"

UNION ALL SELECT 2, "aaa"

UNION ALL SELECT 2, "bbb"

UNION ALL SELECT 2, "ccc"

 

-- 查询处理

SELECT *

FROM(

    SELECT DISTINCT 

        id

    FROM @t

)A

OUTER APPLY(

    SELECT 

        [values]= STUFF(REPLACE(REPLACE(

            (

                SELECT value FROM @t N

                WHERE id = A.id

                FOR XML AUTO

            ), "<N value="", ","), ""/>", ""), 1, 1, "")

)N

/*--结果

id          values

----------- ----------------

1           aa,bb

2           aaa,bbb,ccc

 

(2 行受影响)

--*/

注: 合并与分拆的CLR, sql2005的示例中有:

在安装sql 2005的示例后,默认安装目录为 drive:Program FilesMicrosoft SQL Server90SamplesEngineProgrammabilityCLRStringUtilities中。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章