Vraag : SQL - maak een lijst slechts van die verslagen waar de zeer belangrijke gebieden herhalen

Ik heb een logboeklijst die dossiervoorlegging met alle relevante details volgt. De lijst heeft een normale stijgende primaire/>I behoefte key.


How kan ik dit doen? van

Antwoord : SQL - maak een lijst slechts van die verslagen waar de zeer belangrijke gebieden herhalen

>> specifieke kolommen die me vertellen of is een verslag een herhaling.

Zo, wat zijn die specifieke kolommen?  Welke versie van SQL Server?

Weinig gedachten komen te letten op…  Laat veronderstellen (zeggen) orig_filename, groep, is het type de drie kolommen die uniek uw dossier voor voorlegging identificeren

-- gedachte 1 - toon enkel de extra instanties - zette de kolommen eigenlijk nodig om zich uniek in de „verdeling door“ deel (SQL 2005, SQL 2008) te identificeren

selecteer *
van (selecteer over row_number () (verdeling door orig_filename, [groep], [type] orde door submitid) als RN, * van csmsadmin.submissions) s
waar s.rn > 1

-- gedachte 2 - gebruik de te identificeren telling zich orig_filename, omvat niet alleen alle instanties de dupes (om het even welke SQL Server)

selecteer *
van csmsadmin.submissions s
waar 1 <�>
-- gedachte 3 - gebruik toetreden - in het bijzonder als er te gebruiken indexen zijn (om het even welke SQL Server)

selecteer s.*
van csmsadmin.submissions s
binnen sluit me aan bij Sc csmsadmin.submissions op sc.orig_filename = s.orig_filename en Sc [groep] = s. [groep] en Sc [type] = s. [type] en sc.submitid <> s.submitid


Er zijn eveneens andere methodes, afhangt een klein beetje van wat wij en gebruik in termen van kolommen en versie afschuinen kunnen
Andere oplossingen  
 
programming4us programming4us