相关疑难解决方法(0)

在Microsoft SQL Server 2005中模拟group_concat MySQL函数?

我正在尝试将基于MySQL的应用程序迁移到Microsoft SQL Server 2005(不是选择,而是生活).

在原始应用程序中,我们几乎完全使用符合ANSI-SQL的语句,但有一个重要的例外 - 我们group_concat经常使用MySQL的函数.

group_concat顺便说一下,这样做:给出一张表,比如说,员工姓名和项目......

SELECT empName, projID FROM project_members;
Run Code Online (Sandbox Code Playgroud)

收益:

ANDY   |  A100
ANDY   |  B391
ANDY   |  X010
TOM    |  A100
TOM    |  A510
Run Code Online (Sandbox Code Playgroud)

...这是你用group_concat得到的:

SELECT 
    empName, group_concat(projID SEPARATOR ' / ') 
FROM 
    project_members 
GROUP BY 
    empName;
Run Code Online (Sandbox Code Playgroud)

收益:

ANDY   |  A100 / B391 / X010
TOM    |  A100 / A510
Run Code Online (Sandbox Code Playgroud)

所以我想知道的是:是否有可能在SQL Server中编写用户定义的函数来模拟其功能group_concat

我几乎没有使用UDF,存储过程或类似的东西的经验,只是直接的SQL,所以请错误地说太多的解释:)

sql sql-server sql-server-2005 string-aggregation

342
推荐指数
9
解决办法
17万
查看次数

SQL查询在SQL Server中以逗号分隔符的形式获取聚合结果

我需要在表上编写一个sql查询,以便结果将具有group by列以及带有逗号分隔符的聚合列.

我的表格将采用以下格式

   |`````````|````````|
   |    ID   |  Value |
   |_________|________|
   |    1    |   a    |
   |_________|________|
   |    1    |   b    |
   |_________|________|
   |    2    |   c    |
   |_________|________|
Run Code Online (Sandbox Code Playgroud)

预期结果应采用以下格式

   |`````````|````````|
   |    ID   |  Value |
   |_________|________|
   |    1    |  a,b   |
   |_________|________|
   |    2    |   c    |
   |_________|________|
Run Code Online (Sandbox Code Playgroud)

sql sql-server select aggregate-functions sql-server-group-concat

19
推荐指数
1
解决办法
6485
查看次数

T-sql查询以CSV格式输出值

我在表格中有一个值,如下所示.我需要generation times为每个获取逗号分隔值subscriptionID.

SubscriptionID GenerationTimes

6519    NULL
6616    NULL
6617    NULL
6618    9:00:00
6618    17:00:00
6634    NULL
6698    0:00:00
Run Code Online (Sandbox Code Playgroud)

我需要如下结果

SubscriptionID GenerationTimes

6519    NULL
6616    NULL
6617    NULL
6618    9:00, 17:00
6634    NULL
6698    0:00:00
Run Code Online (Sandbox Code Playgroud)

你注意到subscriptionID 6618有两代时间,所以我必须把它们用逗号','分隔开来.请给我一些建议如何编写T-sql语句.

sql t-sql sql-server sql-server-2005

2
推荐指数
1
解决办法
907
查看次数