Vraag : Hoe kan ik dubbele verslagen in een SQL gegevensbestand zonder een primaire sleutel schrappen?

Is er een manier om dubbele ingangen op een SQL te schrappen gegevensbestand van de Server dat geen primaire sleutel heeft? Ik kan dubbele ingangen schrappen door het VASTGESTELDE bevel te gebruiken ROWCOUNT maar dit zou veel te lang duren aangezien ik elk verslag zou moeten specificeren dat duplicaten heeft.  Dit zal niet doen aangezien de lijst duizenden verslagen heeft.  Is er een gemakkelijke manier om alle duplicaten te schrappen?  

Antwoord : Hoe kan ik dubbele verslagen in een SQL gegevensbestand zonder een primaire sleutel schrappen?

Beste

Zeg u een lijst bijvoorbeeld met het volgende gebied hebt
col1, col2, col3, col4, colN.

gebruik eerst het onderstaande bevel

Selecteer * in Table1_Back van Table1

dan gebruik onder bevel om de oorspronkelijke lijst te beknotten

Trunacate table1

dan gebruik de onderstaande vraag om verslagen met mogelijke dubbele gefiltreerde verslagen terug op te nemen.

tussenvoegsel in Table1 (fieldList)
Selecteer verschillende col1, col2, col3, col4, colN uit Table1_back

voor kruiscontrole van de bovengenoemde trucs stelt u eerst de 2 vragen in werking zoals hieronder.

1) selecteer telling (*) van table1
2) Selecteer verschillende col1, col2, col3, col4, colN uit Table1
en controleer hoeveel nr van verslagen door het 1 (eerste) zijn teruggekeerd vraagResultaat, en hoeveel die nr van rijen door tweede vraag zijn teruggekeerd die. u zou verschillend nr van rijen voor beide vragen defintly moeten worden, en als zo mijn bovengenoemde trciks suly voor u zullen werken.
ik had het zelfde probleem in verleden waar mijn gegevensbestand een hoofdlijst van mebers en kindlijst van de Boom van het Lid had, en ik had bovengenoemde techinq gebruikt en het werkt. Ik hoop ik zou moeten nors voor u werken.

Dank & Achting.
Andere oplossingen  
 
programming4us programming4us