查找两组数据之间不匹配的最佳视图设计



一点背景。。。我的公司使用一个软件,在独立的领域存储有关抵押贷款的信息。这些字段被分解到贷款数据库中的许多表中。

我目前的困境围绕着设计一个视图,该视图将允许我从我们软件的承保端和锁定端找到贷款子集的不匹配数据。

以下是从已经存在的两个视图返回的数据的快速示例:

UW视图

transID | DTIField | LTVField | MIField  
50000   | 37.5     | 85.0     | 1  

锁定视图

transID | DTIField | LTVField | MIField  
50000   | 42.0     | 85.0     | 0

在上述情况下,视图应该返回不匹配的字段(在本例中为DTIField和MIField)。我构建了一个比较视图,它使用一系列CASE语句来返回0表示未匹配或1表示已匹配:

transID | DTIField | LTVField | MIField  
50000   | 0        | 1        | 0

这本身很好,但它在报告方面造成了一些下游问题。我们希望能够构建一个报告,只显示那些数据不匹配的transID,并显示哪些列不匹配。Crystal Reports是有问题的报告解决方案。

关于数据集的一些细节。。。我们有27项贷款正在进行比较(总共54个字段)。该系统中有4000多笔贷款,而且还在增长。transID字段上已存在索引。

您将如何构建视图以返回报告所需的所有数据?我们可以在CrystalReports中做大量的工作,但理想情况下,大部分逻辑将在MSSQL中处理。

感谢您的帮助。

我认为比较给定行的27列应该没有问题。由于您将只读取该行一次,并比较两个表中该行上的列,因此这实际上不会带来任何性能问题。您可以使用一些hash函数HASHBYTES为两个表中这27个字段的组合分配一个哈希值,然后使用该字段比较视图应返回的行。这应该会带来一些性能改进。测试将揭示更多信息。

相关内容

最新更新