计算用户在3层表SQL上所做的更改

时间:2017-01-31 03:04:03

标签: sql sql-server reporting-services group-by sql-order-by

我正在为报告创建一个SQL数据集。我有3层审计表,(帐户,帐户级别,帐户详细信息)。

创建新的AccountDetail时会自动创建AccountLevel记录。

我必须找到哪个用户进行了数据库更改。如果用户更新/删除帐户,它将计为最高更新/删除,因此我忽略了AccountLevel和AccountDetail。如果更新/删除AccountLevel,我会忽略AccountDetail更改计数。如果有AccountDetail更新/删除但没有AccountLevel,那么我计算AccountDetail更新/删除。我写了一些,但我想我是在圈子里。

Data structure

  • 表1:帐户
  • 表2:AccountLevel
  • 表3:AccountDetail

现在让我们专注于删除。 我按帐户级别分组的AccountDetail表中的所有删除计数。如果AccountDetail上有15个删除操作 在AccountLevelId 98982上,我报告计数为15.但是,在AccountLevel表上删除了AccountLevelId:98981,我忽略了AuditDetail表上的删除计数并报告了AccountLevel删除。

非常感谢任何帮助。谢谢。

0 个答案:

没有答案