加入 table SQL 服务器时获取下一条记录

Getting the Next record when joining to table SQL Server

我想加入包含共同借款人信息和主要借款人信息的 table。数据似乎有些地方不准确。我所看到的是,有时主要借款人也是共同借款人。这不应该发生。

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

这是我基本拥有的:

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;