【问题标题】:Adding Sum into Details view for Crystal Report将 Sum 添加到 Crystal Report 的详细信息视图中
【发布时间】:2020-01-01 07:43:40
【问题描述】:

我正在尝试使用新列更新 Crystal 报表。此报告(“员工名册”)查看一张表(PREH)并列出一些详细信息,重要的是员工、公司和工艺。用户指定参数(公司、工艺、特定员工 [可选]),报告会显示该工艺/日期范围内的所有员工以及他们的一些其他详细信息。

我想在给定的工艺中为他们的“工作时间”添加另一列,其详细信息可在另一个表 PRTH 中找到。在 PRTH 中,每个“增加的小时数”条目都有一行,对于给定的员工,可能有数百或数千条。用于此的 SQL 类似于:

SELECT SUM(Hours) 
  FROM dbo.PRTH 
  WHERE PRTH.Employee=%Employee 
  AND PRTH.Craft=%Craft 
  AND PRTH.Company=%Company 
  AND PRTH.EarnCode NOT IN ('5','6','52','60','100','103')

我发现的主要问题是我不能只做一个简单的连接,因为这会导致很多行膨胀。现在,报告为每个员工列出了一条线(按工艺分组)——如果我加入我需要的表格,那么它会为每个员工生成很多行。我想根据“详细信息”部分中正在查看的当前员工添加小时摘要。我可以在 SQL 中做我想做的事,但不确定如何在 Crystal Reports 中传递它,最终尝试在第二次搜索中使用主报表的结果作为参数。

非常感谢任何帮助,谢谢。

当前报告的样本输出(参数=公司 1,工艺=46T)

EE#   SortName    FullName     Co Craft
1553  BOBJONES    Jones, Bob    1 46T
1672  RACHELJONES Jones, Rachel 1 46T
2007  TANYAADAMS  Adams, Tanya  1 46T

在上面的输出中,我会尝试添加一个新列“TotalHours”。对于第一行,我希望它使用 Bob Jones 的“%Employee”的 EE、“%Craft”的 Craft 和“%Company”的 Company 来运行 SQL 语句。

【问题讨论】:

  • 样本数据和期望的结果真的很有帮助。例如,您提到了join,但您的查询只有一个表。
  • 加入是我试图探索的一种可能途径,但尚未完成任何工作 - 我将使用一些示例数据进行更新。
  • 更新了更多输出/数据示例。

标签: sql sql-server crystal-reports


【解决方案1】:

听起来你想要实现的就是这样:

SELECT [EE#], SortName, FullName, Co, Craft,
       (SELECT SUM(Hours) 
       FROM dbo.PRTH 
       WHERE PRTH.Employee=e.Employee 
       AND PRTH.Craft=e.Craft 
       AND PRTH.Company=e.Company 
       AND PRTH.EarnCode NOT IN ('5','6','52','60','100','103')) AS TotalHours
FROM TableWithEmployees AS e
WHERE PRTH.Employee=%Employee 
AND PRTH.Craft=%Craft 
AND PRTH.Company=%Company; 

你是这个意思吗?

【讨论】:

    猜你喜欢
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 2016-07-22
    • 2013-06-20
    • 1970-01-01
    相关资源
    最近更新 更多