我有一张类似
的表格srvc_dt fclity_id clmt_key rfrsh_dt srvc_cd
2013-01-16 000167404 2 2013-01-31 01204
2013-01-16 000167404 2 2013-01-31 11112
2011-01-11 000167404 2488 2013-02-28 11113
2013-01-08 000167404 6070 2013-01-31 11113
2013-01-08 000167404 28371 2013-01-31 01202
2013-01-08 000167404 28371 2013-01-31 11107
2013-01-08 000167404 28371 2013-01-31 11112
2013-01-08 000167404 28371 2013-01-31 11117
2013-01-08 000167404 28371 2013-01-31 12101
2012-07-17 000167404 40571 2013-01-31 11113
2012-11-19 000167404 40571 2013-01-31 11113
2013-01-14 000167404 44189 2013-01-31 27211
2010-07-06 000167404 46396 2013-02-28 01202
2010-07-06 000167404 46396 2013-02-28 02142
2010-07-06 000167404 46396 2013-02-28 11107
2010-07-06 000167404 46396 2013-02-28 11112
2013-01-03 000167404 113264 2013-01-31 01204
2013-01-03 000167404 113264 2013-01-31 23323
2013-01-07 000167404 113390 2013-01-31 01202
2013-01-07 000167404 113390 2013-01-31 02142
我希望将其转换为类似
的内容srvc_dt fclity_id clmt_key rfrsh_dt srvc_cd
2010-07-06 000167404 46396 2013-02-28 01202,02142,11107,11112
2011-01-11 000167404 2488 2013-02-28 11113
2012-07-17 000167404 40571 2013-01-31 11113
2012-11-19 000167404 40571 2013-01-31 11113
2013-01-03 000167404 113264 2013-01-31 01204,23323
2013-01-07 000167404 113390 2013-01-31 01202,02142
2013-01-08 000167404 6070 2013-01-31 11113
2013-01-08 000167404 28371 2013-01-31 01202,11107,11112,11117,12101
2013-01-14 000167404 44189 2013-01-31 27211
2013-01-16 000167404 2 2013-01-31 01204,11112
在SQL SERVER 2012中实现此目的的最佳性能(> 100 000 000行)是什么?
PIVOT? FOR XML PATH? 动态案例陈述? 别的什么?
编辑:虽然Simulating group_concat MySQL function in Microsoft SQL Server 2005?确实显示了实现此目的的一种方法,但我正在寻找不同方法之间的性能比较
答案 0 :(得分:1)
我通常不喜欢仅限链接的答案,但由于您正在寻找各种技术的效果比较,因此没有理由在这里复制一篇大文章。
我也同意这些评论,这些评论表明您最终还是必须使用您的数据在您的系统上测试这些解决方案。如果表现真的很重要,那么你必须自己衡量。