Фильтруйте результаты, чтобы отображать только те, у которых есть повторяющиеся записи из одного столбца. - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь отфильтровать свой запрос таким образом, чтобы в результатах отображались только учетные записи с повторяющимися значениями.В настоящее время мой код предоставляет мне как единичные, так и дубликаты учетных записей.

Вот мой текущий запрос:

SELECT 
  l.AcctNum,
  l.SymID,
  l.PaymentHistory_1,
  h.postdatetime,
  h.NewCHAR
FROM Loans AS L WITH (nolock)
LEFT JOIN History AS H WITH (nolock) ON l.acctnum = h.acctnum
WHERE l.paymenthistory_1 = '12' 
  AND l.SymID LIKE '0%'  
  AND h.NewCHAR LIKE 'Rate decreased from%' 
ORDER BY l.acctnum

В настоящее время я увижу такие результаты:

AcctNum    Sym ID    PaymentHistory    PostDate       New CHAR
123          1           blah           1/1/2000       Rate decreased from
125          1           blah           1/1/2000       Rate decreased from
160          1           blah           1/1/2000       Rate decreased from
160          1           blah           1/1/2000       Rate decreased from

Я бы хотел увидеть следующее:

AcctNum    Sym ID    PaymentHistory    PostDate       New CHAR
160          1           blah           1/1/2000       Rate decreased from 2 to 1
160          1           blah           1/1/2000       Rate decreased from 3 to 2

1 Ответ

0 голосов
/ 03 июля 2019

Вы можете попробовать это:

SELECT AcctNum
     , SymID
     , PaymentHistory_1
     , postdatetime
     , NewCHAR
  FROM (
        SELECT l.AcctNum
             , l.SymID
             , l.PaymentHistory_1
             , h.postdatetime
             , h.NewCHAR
             , COUNT(1) OVER(PARTITION BY l.AcctNum) AS CountAcctNum
          FROM Loans AS L WITH(nolock)
          LEFT JOIN History AS H WITH(nolock) ON l.acctnum = h.acctnum
         WHERE l.paymenthistory_1 = '12'
           AND l.SymID LIKE '0%'
           AND h.NewCHAR LIKE 'Rate decreased from%'
       ) LoansHistory
 WHERE CountAcctNum > 1
 ORDER BY AcctNum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...