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

作者:zise 时间:2009-01-23 14:08:00 

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

问题描述:

无论是在sql 2000, 还是在 sql 2005 中,
都没有提供字符串的聚合函数, 所以, 当
我们在处理下列要求时,会比较麻烦:

有表tb, 如下:

id    value

----- ------

1     aa

1     bb

2     aaa

2     bbb

2     ccc

需要得到结果:

id     values

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

1      aa,bb

2      aaa,bbb,ccc

即, group by id, 求 value 的和(字符串相加)
 
1. 旧的解决方法

创建处理函数

CREATE FUNCTION dbo.f_str(@id int)

RETURNS varchar(8000)

AS

BEGIN

    DECLARE @r varchar(8000)

    SET @r = ''

    SELECT @r = @r + ',' + value

    FROM tb

    WHERE id=@id

    RETURN STUFF(@r, 1, 1, '')

END

GO

-- 调用函数

SELECt id, values=dbo.f_str(id)

FROM tb

GROUP BY id

标签:
0
投稿

猜你喜欢

  • JavaScript数组方法-系统性总结详解

    2024-04-28 09:38:49
  • php curl选项列表(超详细)

    2023-07-18 15:19:32
  • JavaScript 基础问答 四

    2024-04-18 10:52:09
  • Python学习笔记之os模块使用总结

    2023-05-12 07:46:21
  • laravel执行php artisan migrate报错的解决方法

    2024-06-05 09:44:39
  • 深入浅析mybatis oracle BLOB类型字段保存与读取

    2024-01-15 02:21:26
  • 解决Python复杂zip文件的解压问题

    2021-08-11 05:04:09
  • python数据类型相关知识扩展

    2021-12-21 10:20:07
  • 关于Python的Thread线程模块详解

    2022-12-20 02:48:16
  • python贪吃蛇游戏代码

    2023-07-22 04:19:17
  • Go语言中的自定义类型你了解吗

    2024-02-06 00:11:36
  • python实现自动下载sftp文件

    2022-01-25 12:55:36
  • 利用20行Python 代码实现加密通信

    2023-04-22 06:18:54
  • 使用Anaconda3建立虚拟独立的python2.7环境方法

    2023-10-01 20:10:43
  • python实现求纯色彩图像的边框

    2022-04-01 22:04:51
  • jquery常用的表单操作很全很详细

    2011-09-01 19:21:11
  • mysql缓冲和缓存设置详解

    2024-01-27 02:39:18
  • python中的hashlib和base64加密模块使用实例

    2022-10-19 05:08:23
  • Python基础之tkinter图形化界面学习

    2023-09-03 00:47:06
  • 网页特效文字之—沙粒字

    2023-07-06 07:32:10
  • asp之家 网络编程 m.aspxhome.com