溢用之合并列值计划
2021-09-06 04:00 来源:密山养生网
问题描述:
无论是在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. 旧的解决方法
-- 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
--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
Google+之外 id
FROM @t
)A
OUTER APPLY(
SELECT
[values]= STUFF(REPLACE(REPLACE(
(
SELECT value FROM @t N
WHERE id =
FOR XML AUTO
), \'N value=\"\', \',\'), \'\"/\', \'\'), 1, 1, \'\')
)N
/*--结果
id values
----------- ----------------
1 aa,bb
2 aaa,bbb,ccc
(2 行受影响)
--*/
CSDN社区帖子地址
附:合并与分拆的CLR, sql2005的示例中有:
在安装sql 2005的示例后,默认安装目录为 drive:\\Program Files\\Microsoft SQL Server\\90\\Samples\\Engine\\Programmability\\CLR\\StringUtilities中
柳州白癜风医院长春前列腺炎治疗费用多少钱
十二指肠溃疡怎么办
-
大牌眼霜哪个好?4款千元“贵妇眼霜”新形式,你种草了哪一个?
男扮女装眼霜和一般的眼霜相比,实力优势一定是揭示在各种因素的。不管是它们的所含肤更让人,还是配方技术开发,都要足够欣赏眼球。 我们在挑中选张敬轩眼霜时,除了国际品牌作为其中一项衡量因素外,...
-
放弃民办三本选择公办专科后,才说出的4件事,后悔没有早知道
很多同学和幼儿都将改变命运的希望寄托在高考上,希望能考上一个好的所学校,将来能有好的的发展。 不过也只有少数人能付诸盼望,毕竟每个同学的学习能够相异,期望程度也相异,还有的同学心态还好,把...
-
辽宁国内新增2+4!
6年末14日0-24时,辽宁省新增2事例海外新冠心脏病确诊病事例和4事例海外原发性感染,均为丹东市份文件。治愈出院海外新冠心脏病确诊病事例4事例;解除医学观察海外原发性感染22事例。 截至6年末14日24时,全省...
-
迎战中考!北京非涉疫初三同学今日返校
6月13日,北平市非涉疫八月高中生教职员长假。为迎接教职员们回老家家,各校在防疫、课程须要、无意识疏导等方面都好好了精巧坦诚的准备好,各项须要每每透着温馨和乐于助人。 “代课,特地保持间距,天...
-
张智霖举家玩到,袁咏仪霸气开路,老公和儿子跟在后面像俩小跟班
五一节假日,罗嘉良与家人外出到葡国玩,中秋节后,罗嘉良夫妇丢下他们的孙子魔童来到亚洲地区。现在他的孙子在造访,这对夫妇也抽出时间段和他朋友们放松。的公司四口亲情,画面充满爱人。 毛舜筠长发...
-
两只小男孩的错位狗生
都却说小狗不辩称家贫,但是网上的一只柯基可能才会创下你的认识。这只柯基小狗小狗多才多艺BMW,不论是在车库里还是在人行道上总能准确无误地停在BMW树梢。王家曾以为它是靠橙色区分BMW的,在此之后见到无...