有时候会需要查询或统计某个事务字段被修改的次数。如事务的完成期限修改的次数可能反映了计划的延期次数。
字段的更改记录都被保存在pts_problemhistory表中,根据该表中字段名字出现的次数,可以得到字段的编辑次数。
示例:搜索出所有‘计划完成日期’字段被编辑过的事务(报表类型为“单个查询”):
Select
h.ProblemID,
p.ProblemCode as '编码',
p.Title as '标题',
count(1)-1 as '更改次数'
FROM Pts_ProblemHistory h left outer join v_pts_problems p on h.ProblemID = p.problemid
WHERE
h.[content] like '%计划完成日期%'
group by h.problemid,p.problemcode,p.title
having count(1) > 1
上述代码中,count(1) 之所以要减去1,是因为在事务创建的时候也会写一条历史记录,此记录并不是编辑操作。所以要抛去。