我正在尝试使用history_table编写报告。 我想知道如果表中只有两个字段已更改ex(ss.dem1)和(ss.dem2),我将如何仅显示记录以显示历史记录 如果其他任何更改,如表中的电话或地址,也不会在报告中提出或抑制它。我希望只看到这两个字段的数据已经改变,并且每次更改为历史记录时
这将是我想要完成的一个例子。
我也曾尝试使用抑制公式,但只给了我最后一条记录而没有向我展示我喜欢上面的例子
不是onlastrecord和next(PATID)= PATID和next(ssdem1)= ssdem1 要么 不是onlastrecord和next(PATID)= PATID和next(ssdem2)= ssdem2
非常感谢任何帮助。
答案 0 :(得分: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...)