让我们假设我有那些2个表:SQL Server的多行组由
ID Time UserId
1 08:00 55
2 08:00 22
3 08:00 04
4 09:00 17
5 11:00 11
...etc...
UserId Name
01 Brian
02 Francis
03 David
...etc...
我想结果是:
Hours(distinct) Name
08:00 Franck,Michelle,Damian
09:00 Indiana, Robert
事实上,我希望所有的不同的时间在上市第一列和列出的所有用户名称作为一行。我想这个查询:
选择不同的转换(VARCHAR(25),时间,120),测试= STUFF(( SELECT '' +名字从T2 WHERE T1.UserId = T2.Id FOR XML PATH (“”)), 1,1,“”)FROM T1组按时间
查询作品,未经组通过,但它引发的错误与它“列‘用户ID’是在选择列表中无效因为它不包含在聚合函数或GROUP BY子句中。“
有什么想法?
查询摆脱'group BY Time'部分。 – gofr1
如果我摆脱了群组,我只是得到了每一行的单一名称... –