1

我在 ASP.NET 中使用 ActiveReports,但我认为任何类似报告组件的答案都可以。

我有两个结果集要合并并显示在一个报告中,例如:

Table 1:

Name Job              Start End
Jack Some service     1992  1997
Jack Some Sales Exp   1998  2007
Jane Some programming 2000  2003

Table 2:

Name Training
Jack Shiny French Certificate
Jane Crappy database certificate
Jane Some courses in management

报告应如下所示:

Jack
  Job History:
    Some Corp, 1992-1997
    Some Sales Exp, 1998-2007
  Training History:
    Shiny French Certificate
Jane
  Job History:
    Some programming, 2000-2003
  Training History:
    Crappy database certificate
    Some courses in management

我应该如何合并这两个表,我应该如何设计布局以实现给定示例中的报告?

更新:

正如您可能注意到的,我并不想通过一次选择来做到这一点。我有两个数据表作为源,我可以手动合并它们以获得单个数据源。我正在尝试使用分组,但我需要为每个员工设置两种组。一份用于工作,一份用于培训。如何使用组或子报表功能来绑定此类数据(以及如果需要我应该如何处理数据)?

4

3 回答 3

2

使用子报表... 创建一个包含两个子报表的主报表。一份工作历史子报告和一份培训历史子报告。主报告将需要一个返回人员列表的查询。然后,对于主报表详细信息中的每个人,在每个子子报表上设置一个参数,该参数将细化这两个子报表中的查询,以仅列出父报表中显示的当前人员的工作历史或培训历史。

Data Dynamics 网站上提供了详细说明如何逐步执行此操作的演练。一些概述信息也在这里

于 2009-01-06T14:38:03.117 回答
1

通常,您不能在单个 SELECT 语句中执行此操作。大多数报告工具都提供某种“子报告”或“内部部分”,它们针对不同的 SQL 问题运行,并从主报告传递一些参数。您可以使用两个子报表和一个主报表。

于 2008-11-10T15:28:30.690 回答
0

您应该使用“左连接”选择这两个表,在报表中创建一个“GroupHeader/Footer”部分,并将“GroupHeader”部分的“DataField”设置为字段,该字段应用作分组。

查看 ActiveReports 中的示例,它们肯定有用于分组的示例。

于 2008-11-10T15:32:11.853 回答