удалить все дублирующиеся записи

#sql #tsql

#sql #tsql

Вопрос:

показывает много дубликатов, как я могу их удалить, я пытался использовать distinct, но дублирование все еще появляется

 SELECT fdp.PARENT_CASEID ,
fdp.POLICYNUMBER,
fdp.INSUREDNAME,
fdp.OWNERNAME,
fdp.AGENCYCODE,
fdpc.NIGO,
fdpc.NIGOREASON,
wci.WCSTATUS,
wci.DATECOMPLETED,
WCI.CREATEDDATETIME,
fdCI.NEWUNDERWRITINGUSER,
fdr.NBAMOUNT,
nr.NIGOREQUIREMENT,
d.MODIFIEDDATETIME[First Review]
FROM FDPolicyDetails fdp
INNER JOIN FDProcessing fdpc ON fdp.PARENT_CASEID = fdpc.PARENT_CASEID
JOIN FDWelcomeCall wci on fdp.PARENT_CASEID = wci.PARENT_CASEID
JOIN FDCaseInformation fdCI on fdp.PARENT_CASEID = FDCI.PARENT_CASEID
JOIN FDRounting fdr on fdp.PARENT_CASEID = FDR.PARENT_CASEID
JOIN FDNIGORequirements nr on fdp.PARENT_CASEID = NR.PARENT_CASEID
JOIN SONORADISCUSSIONS d on d.CASEFOLDERID = NR.PARENT_CASEID
;
  

Комментарии:

1. Помните, что SELECT DISTINCT работает со всеми выделенными строками.

2. поделитесь образцами данных и выходных данных и вашим именем СУБД

3. @ZaynulAbadinTuhin СУБД: Microsoft SQL Server

Ответ №1:

вы можете использовать row_number() функцию window и применить к ней фильтр

 with cte as
(SELECT fdp.PARENT_CASEID ,
fdp.POLICYNUMBER,
fdp.INSUREDNAME,
fdp.OWNERNAME,
fdp.AGENCYCODE,
fdpc.NIGO,
fdpc.NIGOREASON,
wci.WCSTATUS,
wci.DATECOMPLETED,
WCI.CREATEDDATETIME,
fdCI.NEWUNDERWRITINGUSER,
fdr.NBAMOUNT,
nr.NIGOREQUIREMENT,
d.MODIFIEDDATETIME,
row_number()over(partition by ---group of column order by column) rn
FROM FDPolicyDetails fdp
INNER JOIN FDProcessing fdpc ON fdp.PARENT_CASEID = fdpc.PARENT_CASEID
JOIN FDWelcomeCall wci on fdp.PARENT_CASEID = wci.PARENT_CASEID
JOIN FDCaseInformation fdCI on fdp.PARENT_CASEID = FDCI.PARENT_CASEID
JOIN FDRounting fdr on fdp.PARENT_CASEID = FDR.PARENT_CASEID
JOIN FDNIGORequirements nr on fdp.PARENT_CASEID = NR.PARENT_CASEID
JOIN SONORADISCUSSIONS d on d.CASEFOLDERID = NR.PARENT_CASEID
) select * from cte where rn=1
  

Комментарии:

1. но как я могу добавить это условие p.WFWORKSTEPNAME = ‘PendingRequirements’ или p.WFWORKSTEPNAME = ‘FollowUpRequirements’

2. добавить фильтр внутри cte