我有一个数据集,我试图找到相互引用的结果。我有一个表,其中包含“应用程序”。应用程序涉及 2 方(人)。这些是“申请人”和“接收者”。
我需要了解如何获取“A”人是申请人和“B”人是接收人的数据,然后他们在哪里反向转发了另一个申请。因此,“B”人是申请人,“A”人是接收人。我需要将这两行都作为结果集中的 1 行返回。
我的数据结构如下所示:
Application ID, Applicant Name, Applicant DOB, Receiver Name, Receiver DOB
1, Bob SMITH, 12/06/1980, Joe SMITH, 10/10/1979
2, Joe SMITH, 10/10/1979, Bob SMITH, 12/06/1980
3, Betty DAVIS, 15/05/1986, Barry DAVIS, 29/07/1981
4, Barry DAVIS, 29/07/1981, Betty DAVIS, 15/05/1986
如您所见,有 4 个应用程序,但实际上只有 2 个“交叉应用程序”。我试图让最终结果看起来像这样,显示独特的跨应用程序:
Application ID 1, Applicant Name 1, Applicant DOB 1, Receiver Name 1, Receiver DOB 1, Application ID 2, Applicant Name 2, Applicant DOB 2, Receiver Name 2, Receiver DOB 2
1, Bob SMITH, 12/06/1980, Joe SMITH, 10/10/1979, 2, Joe SMITH, 10/10/1979, Bob SMITH, 12/06/1980
3, Betty DAVIS, 15/05/1986, Barry DAVIS, 29/07/1981, 4, Barry DAVIS, 29/07/1981, Betty DAVIS, 15/05/1986
我唯一可以比较两个应用程序的是名称和 DOB(这是对我的约束。这很烦人,因为有时人们拼写不同的名称或输入错误的 DOB)。我只想返回两个人都匹配的交叉应用程序。
我想我需要将行“N”加载到游标中,并将名称和 DOB 与数据集中的每一行(N+1 到 N+n)进行比较,如果找到任何匹配项,则将它们放入输出并移动到下一行。我不确定如何做到这一点,如果有人可以提供任何建议,我希望得到一些帮助。谢谢!