我希望按照微软客户关系管理的格式显示所有审计历史数据。
我已将所有来自CRM的AuditBase表中的记录导入到另一个数据库服务器表中。
我想使用SQL查询以Dynamics CRM格式检索此表中的记录(如上图所示)。
目前为止,我已经完成了以下工作
select
AB.CreatedOn as [Created On],SUB.FullName [Changed By],
Value as Event,ab.AttributeMask [Changed Field],
AB.changeData [Old Value],'' [New Value] from Auditbase AB
inner join StringMap SM on SM.AttributeValue=AB.Action and SM.AttributeName='action'
inner join SystemUserBase SUB on SUB.SystemUserId=AB.UserId
--inner join MetadataSchema.Attribute ar on ab.AttributeMask = ar.ColumnNumber
--INNER JOIN MetadataSchema.Entity en ON ar.EntityId = en.EntityId and en.ObjectTypeCode=AB.ObjectTypeCode
--inner join Contact C on C.ContactId=AB.ObjectId
where objectid='00000000-0000-0000-000-000000000000'
Order by AB.CreatedOn desc
我的问题是AttributeMask是一个逗号分隔的值,我需要将其与MetadataSchema.Attribute表的columnnumber字段进行比较。如何从该实体中获取新值。
我已经查看了此链接:Sql query to get data from audit history for opportunity entity,但它没有给我[New Value]。
注意:我不能使用"RetrieveRecordChangeHistoryResponse",因为我需要将这些数据显示在外部网页中,从SQL表中获取(而不是CRM数据库)。