>>ID CATEGORY
>>0001 ABC
>>0002 NBC
>>0002 NBC
>>0002 NBC
>>0003 CBS
>>0004 123
>>0004 ABC
>>0005 567
>>0005 567
>>0006 009
>>0006 123
>>0006 123
>>
>>I want to delete all records where the ID and CATEGORY are matching, it does not matter 1 records or more. So the recult would be as follows:>>ID CATEGORY
>>0004 123
>>0004 ABC
>>0006 009
>>0006 123
>>0006 123
>>
>>>SET DELETED ON > >CREATE CURSOR Original (ID Character(4), Category Character(3)) > >LOCAL SourceData AS String >LOCAL ARRAY SourceLines(1) >LOCAL LoopIndex AS Integer > >TEXT TO m.SourceData NOSHOW >0001 ABC >0002 NBC >0002 NBC >0002 NBC >0003 CBS >0004 123 >0004 ABC >0005 567 >0005 567 >0006 009 >0006 123 >0006 123 >ENDTEXT > >FOR m.LoopIndex = 1 TO ALINES(m.SourceLines, m.SourceData) > INSERT INTO Original VALUES (LEFT(m.SourceLines(m.LoopIndex), 4), RIGHT(m.SourceLines(m.LoopIndex), 3)) >ENDFOR > >DELETE Original ; > FROM (SELECT ID, COUNT(DISTINCT Category) AS Categories FROM Original GROUP BY ID HAVING Categories = 1) AS Matcher ; > WHERE Original.Id = Matcher.Id > >BROWSE >Thank you, Antonio. I did it using some "crude" force (of DO WHILE). But I will try your - much better - approach too.