Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在crystal报表中水平分组数据_Asp.net_Crystal Reports - Fatal编程技术网

Asp.net 如何在crystal报表中水平分组数据

Asp.net 如何在crystal报表中水平分组数据,asp.net,crystal-reports,Asp.net,Crystal Reports,我在ASP.net中的crystal报表中有两个字段,用于从数据库获取数据。因此,视图如下所示: [pid] [batch] 2108 1234 2108 5647 2108 7856 2108 3425 2109 1254 2109 1255 但我希望数据应该分组并水平显示,如下所示: [pid] [batch] 2108 1234

我在ASP.net中的crystal报表中有两个字段,用于从数据库获取数据。因此,视图如下所示:

[pid]         [batch]

2108          1234
2108          5647
2108          7856
2108          3425
2109          1254
2109          1255
但我希望数据应该分组并水平显示,如下所示:

[pid]         [batch]

2108          1234, 5647, 7856, 3425
2109          1254, 1255
你能帮我找到解决办法吗。 我尝试在查询中使用“groupby”关键字,但没有解决方案。 请帮帮我

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查询而不是从crystal reports获取结果集