1

我正在尝试使用 history_table 编写报告。我想知道如果表中只有两个字段更改了 ex (ss.dem1) 和 (ss.dem2),我将如何只带记录来显示历史记录 如果表中的电话或地址等其他任何变化也不要在报告中提出或压制它。我想查看只有这两个字段发生变化的数据,并且每次它都作为历史发生变化。
在此处输入图像描述

这将是我想要完成的一个例子。

我也曾经尝试使用抑制公式,但只给了我最后一条记录,并没有像上面那样向我展示我想要的例子

不是 onlastrecord 和 next(PATID)=PATID 和 next(ssdem1)=ssdem1 或不是 onlastrecord 和 next(PATID)=PATID 和 next(ssdem2)=ssdem2

任何帮助是极大的赞赏。

4

1 回答 1

1

在数据库方面,您可以进行自联接,并且只保留您感兴趣的项目之一发生更改的记录,例如:

select WHATEVER
from HISTORY H1, HISTORY H2
where H1.PAT_ID=H2.PAT_ID
 and (H1.DEM1 <> H2.DEM1
      or H1.DEM2 <> H2.DEM2
      etc...)

或者,您可以按 PAT_ID 排序报告,然后按编辑的日期/时间排序,然后抑制没有任何变化的行,这听起来像您正在尝试做的事情。如果您发布确切的抑制公式,我可能会看到您哪里出错了。应该是这样的:

not(onfirstrecord) or
({TABLE.PAT_ID}=previous({TABLE.PAT_ID})
 and {TABLE.DEM1}=previous({TABLE.DEM1}) //check all fields you're concerned with for equality
 and {TABLE.DEM2=previous({TABLE.DEM2})
 and etc...)
于 2012-10-09T19:35:28.533 回答