在 Firebird 中,有一个聚合称为List() http://www.firebirdsql.org/refdocs/langrefupd21-aggrfunc-list.html它将多个结果转换为逗号分隔的字符串。
SQL Server 中似乎不存在此功能。有没有任何类似的东西不涉及又大又长又丑slow解决方法使用for xml
或者构建您自己的 CLR UDF? (是的,我知道这些方法。寻找一些我可能不知道的东西。)
不,这些是您必须使用的解决方法。我们一直在要求一个GROUP_CONCAT
2006年以来的同等水平:
http://connect.microsoft.com/SQLServer/feedback/details/247118/sql-needs-version-of-mysql-group-concat-function http://connect.microsoft.com/SQLServer/feedback/details/247118/sql-needs-version-of-mysql-group-concat-function
...但该项目仅收到 13 票赞成票(和 1 票反对票)。因此,我并不完全责怪微软为了推动销售和客户满意度而专注于产品的其他增强功能。没有多少人抱怨(至少没有直接抱怨),并且GROUP_CONCAT
这不是营销人员可以在幻灯片或商业广告中表现得性感的东西 - 开发人员的生产力并不完全是销售许可证的关键。 (另一方面,我想见见那些 14 岁以上的人,他们成功地做出了一些愚蠢的事情,比如EOMONTH
and IIF
实施的。)
因此,如果您认为此功能很重要,请投票,更重要的是,评论这将如何提高您的生产力/利润:
FWIW,XML 版本很难看,但并不难掌握。我已经在 SO 上的数十个答案中使用了它,我什至不必再去查找它了。我也不觉得它非常慢。为什么你认为微软内置的东西会更快?它必须做本质上相同的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)