我在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

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

更新

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

有帮助吗?

解决方案

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

详细演练介绍了如何逐步完成此操作,请访问Data Dynamics网站这里。一些概述信息也是此处

其他提示

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

您应该使用“left-join”选择这两个表,创建一个“GroupHeader / Footer”。报告中的部分并设置“DataField”; on“GroupHeader”段到字段,应该用作分组。

查看来自ActiveReports的样本,他们肯定有一个分组样本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top