Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Deleteing the last duplicate
Message
From
28/10/2013 10:00:57
 
 
To
27/10/2013 18:38:50
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows Server 2012
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Web
Miscellaneous
Thread ID:
01586533
Message ID:
01586574
Views:
48
>>Hi All:
>>What's the easiest and most elegant way to remove the SECOND duplicate.
>>IOW, when there is a dupe, get rid of the second record.
>>Thanks,
>>Yossi
>
>
>There may be a better way. I have used this.
>
>
* Prepare the table for the operation
>SELECT tableWithDuplicates
>ALTER TABLE ADD COLUMN lDuplicate L
>
>* Mark everything initially as a duplicate
>REPLACE ALL lDuplicate WITH .T.
>
>* Create an index of unique records
>INDEX ON my+Unique+Key+Fields UNIQUE TAG dupTemp
>
>* Mark every unique record as not being a duplicate (the nature of the INDEX ON command mandates that the UNIQUE records are top-most in row order)
>REPLACE ALL lDuplicate WITH .F.
>
>* Remove the index
>SET INDEX TO
>
>* The records which are marked lDuplicate = .T. are the second (and later) duplicates
>
>* Delete those records and then PACK, mark lDeleted = .T., or whatever...
>
>ALTER TABLE DROP COLUMN lDuplicate
>DELETE TAG dupTemp
>
Sorry Rick,
I am afraid this will not work since Yossi replied the key's are same therefore not unique.
Yossi wants to delete the second record, whatever that means, containing corrupt data.
Better to make a SQL select on corrupt data conditon, however Yossi has not replied what qualifies his data as begin corrupt.
Rgds,
Koen
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform