我正在尝试将基于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,所以请错误地说太多的解释:)
我有一张桌子如下:
ID User Activity PageURL
1 Me act1 ab
2 Me act1 cd
3 You act2 xy
4 You act2 st
Run Code Online (Sandbox Code Playgroud)
我希望按用户和活动进行分组,这样我最终得到的结果如下:
User Activity PageURL
Me act1 ab, cd
You act2 xy, st
Run Code Online (Sandbox Code Playgroud)
如您所见,列PageURL由基于group by的逗号分隔在一起.
真的很感激任何指针和建议.
我想创建一个查询但不知何故我无法这样做.有人可以帮帮我吗?
原始数据
ID ReportId Email
1 1 a@a.com
2 2 b@b.com
3 1 c@c.com
4 3 d@d.com
5 3 e@e.com
Run Code Online (Sandbox Code Playgroud)
我想分组ReportId,但所有电子邮件都应以逗号分隔.所以结果应该是:
ReportId Email
1 a@a.com, c@c.com
2 b@b.com
3 d@d.com, e@e.com
Run Code Online (Sandbox Code Playgroud)
做这个的最好方式是什么?
我正在尝试group by子句,但如果还有其他任何事情,那么我也愿意实现它.我非常感谢您的时间和帮助.谢谢.
我有3个表叫:
我想在GUI上显示所有资源名称的表.在每行的一个单元格中,我想列出该资源的所有应用程序(以逗号分隔).
所以问题是,在SQL中执行此操作的最佳方法是什么,因为我需要获取所有资源,而且还需要获取每个资源的所有应用程序?
我是否首先从资源运行select*然后遍历每个资源并对每个资源执行单独的查询以获取该资源的应用程序列表?
有没有办法在一个查询中执行此操作?
我要做的是将多个列合并为一个.假设我有一个表Player,这个表包含多个列,例如name, team, goalie, left back, right back, center back , left midfield.... and description.
该description列将包含name+ team+ left back,因此description也是如此Ronaldo - Madrid - Forward.当玩家只有一个位置但不能超过一个位置时,我可以填充描述栏吗?
我的SQL:
select
name, team, goalie,
leftback, rightback, centerback,
left midfield,
......,
name + ' - ' + team + ' - '+
CASE
WHEN goalie = 'yes' THEN 'Goalie'
WHEN leftback = 'yes' THEN 'Left Back'
WHEN rightback = 'yes' THEN 'Right Back'
WHEN …Run Code Online (Sandbox Code Playgroud) 我有一个带有作品集的日期列表,一个作品集可以有多个日期.作品集是员工假期请求对开页.(SQL Server 2008)
我没有像列表那样显示信息,而是需要以下面的格式显示它

这是SQL小提琴.
http://sqlfiddle.com/#!3/0ddd2/7
感谢任何指南.