在加入表SQL Server时获取"下一个"记录



我想将一个包含共同借款人信息的表连接到主借款人信息。数据在某些方面似乎不准确。我看到的是,有时主要借款人也是共同借款人。这不应该发生。

如果主要和次要社会保障#匹配,我想选择下一个共同借款人。

这就是我基本上拥有的:

Select a.PrimaryBorrower
,a.Accountnumber
,a.PriamrySSN
,b.SecondarySSN
from  Primarytable A
Left Join Secondarytable B
on a.accountnumber = B.accountnumber and 
b.secondaryssn != A.primarySSN 

我知道这不会奏效,但我不完全确定我应该怎么做。

Primaryssn | AccountNumber | Primaryborrower 
xxxx1       123               AB
XXXX2       134               BC
SecondarySSN | Accountnumber | SeondaryBorrower 
xxxx1         123              AB
xxxx3         123              CB
xxxx5         134              RC
XXXX9         123              ZB

我想要得到的结果是:

PrimaryBorrower | Accountnumber |PrimarySSN | SecondarySSN
AB                 123          xxxx1      xxxx3
BC                 134          XXXX2      XXXX5

我认为你已经接近了,只是一个小调整,可以任意选择SSN最低的二级借款人。

WITH cteRowNums AS (
Select a.PrimaryBorrower
,a.Accountnumber
,a.PriamrySSN
,b.SecondarySSN
,ROW_NUMBER() OVER(PARTITION BY a.Accountnumber ORDER BY b.SecondarySSN) AS RowNum
from  Primarytable A
Left Join Secondarytable B
on a.accountnumber = B.accountnumber 
and  b.secondaryssn != A.primarySSN 
)
SELECT PrimaryBorrower
,Accountnumber
,PriamrySSN
,SecondarySSN
FROM cteRowNums
WHERE RowNum = 1;

最新更新