0

我在 ASP.net 的水晶报表中有两个字段,它们从数据库中获取数据。所以视图如下所示:

[pid]         [batch]

2108          1234
2108          5647
2108          7856
2108          3425
2109          1254
2109          1255

但我希望数据应该被分组并像这样水平显示:

[pid]         [batch]

2108          1234, 5647, 7856, 3425
2109          1254, 1255

请您帮我解决问题。我尝试在查询中使用“group by”关键字,但没有解决方案。请帮帮我。

4

1 回答 1

0
SELECT DISTINCT pid,

(STUFF((SELECT ',' + CONVERT(varchar(10), batch) FROM tblTest E2 WHERE  E1.pid = E2.pid ORDER BY pid

FOR XML PATH(''), TYPE, ROOT).value('root[1]','nvarchar(max)'),1,1,'')) as batch

FROM tblTest E1 ORDER BY pid

上面的 sql 查询将按预期返回结果集。尝试从 sql 查询中获取结果集,而不是从水晶报表中获取结果集。

于 2012-08-13T06:33:08.303 回答