【发布时间】:2019-03-20 18:29:40
【问题描述】:
我正在尝试从存在错误的数据库中提取数据。我无法解决错误(这是“设计功能”),所以我必须尝试查询它。以下是它的存储方式。
Record ID | Create Date | Update Date | Record Status
123 | 05/01/2018 | 05/01/2018 | Active
123 | 05/08/2018 | 05/08/2018 | Active
123 | 05/15/2018 | 05/15/2018 | Closed
123 | 05/22/2018 | 05/22/2018 | Closed
456 | 06/02/2018 | 06/02/2018 | Pending
456 | 06/09/2018 | 06/09/2018 | Active
456 | 06/16/2018 | 06/16/2018 | Active
456 | 06/23/2018 | 06/23/2018 | Suspended
等等。如您所见,每行的 Create Date 和 Update Date 值都匹配。 Create Date 值应该是记录 ID 最初创建的日期,但它实际上被捕获为记录 ID 更新的创建日期。
我需要的是一份报告,它为每个记录 ID 带来一行,显示最短创建日期和最长更新日期,因此结果如下所示:
Record ID | Create Date | Update Date | Record Status
123 | 05/01/2018 | 05/22/2018 | Closed
456 | 06/02/2018 | 06/23/2018 | Suspended
我已尝试在查询设计器中使用 MIN 和 MAX 聚合函数,在我添加任何其他可能在记录生命周期中发生变化的字段之前,它工作得很好。我明白了:
Record ID | Create Date | Update Date | Record Status
123 | 05/01/2018 | 05/08/2018 | Active
123 | 05/15/2018 | 05/22/2018 | Closed
456 | 06/02/2018 | 06/02/2018 | Pending
456 | 06/09/2018 | 06/16/2018 | Active
456 | 06/23/2018 | 06/23/2018 | Suspended
我对 Report Builder 比较陌生,但我认为我很快就掌握了它的概念。我在这里错过了什么?
编辑添加当我使用查询设计器时,查询文本如下所示:
SELECT
DB.RECORD.RECORD_ID
,DB.RECORD.RECORD_STATUS_CODE
,MAX(DB.RECORD.RECORD_CREATED_DATE) AS Max_RECORD_CREATED_DATE
,MIN(DB.RECORD.RECORD_UPDATED_DATE) AS Min_RECORD_UPDATED_DATE
FROM
DB.RECORD
GROUP BY
DB.RECORD.RECORD_ID
,DB.RECORD.RECORD_STATUS_CODE
【问题讨论】:
-
您介意包含使用的查询吗?似乎可以使用
GROUP BY RecordID解决此问题,但如果没有查询就很难判断。
标签: max ssrs-2012 min reportbuilder3.0