2012-08-12 73 views
0

我在ASP.net的Crystal Reports报表中有两个字段,它从数据库中获取数据。因此,鉴于看起来如下:如何在水晶报表中水平分组数据

[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”关键字,但没有解决方案。 请帮帮我。

回答

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查询设置。