Allen,
How about
select * from lineitems ;
where lineitems_id IN (select lineitems_id from lineitems ;
group by 1 ;
having count(lineitems_id) > 1) ;
order by lineitems_id ;
into cursor curDupes
>>
>>>Hi,
>>>>>Can someone help me with the SQL to find all duplicates in a field?
>>>>>Thanks,
>>>>>Allen
>>>>select KeyFld, count(*) as CntDups from TestDups group by 1 ;
>>>> having CntDups > 1 ;
>>>> into cursor curDupes
>>>>
>>>
>>>Sorry but I did get it...
>>>Keyfld for me is lineitems_id
>>>TestDups table is lineitems
>>>What's CntDups... a variable?
>>>
>>>Allen>>
>>
>>CntDups becomes a calculated field in your query result (cursor).
>>Basically you are saying to group by "lineitems_id" and count how many show up. Then disregard the ones that show up only once and show only 2 or more instances ("having CntDups > 1").
>>
>>
>>select lineitems_id, count(*) as CntDups ;
>>from lineitems ;
>>group by 1 ;
>>having CntDups > 1 ;
>>into cursor curDupes
>>
>>
>>Clearer?
>
>Thank you. It's clearer and works but I needed another thing...
>What you gave me shows the duplicate record and the times it's duplicated, but I was trying to get the duplicate records, record by record. So that each record is listed.
>Thanks,
>Allen