如何在水晶报表中水平分组数据

时间:2012-08-12 16:35:03

标签: asp.net crystal-reports

我在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"我的查询中的关键字,但没有解决方案。 请帮帮我。

1 个答案:

答案 0 :(得分: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查询将返回结果集作为expected.try,从sql查询中获取结果集,而不是从crystal crystal中获取结果集。