Hi Caroline,
I think a select statement like this should do the job:
SELECT aa.iid, COUNT(aa.iid) AS Expr1;
FROM duplicates!addresses aa;
GROUP BY aa.csurname, aa.cforename, aa.caddress_1, aa.cpostcode ;
HAVING COUNT(aa.iid) >= 2
HTH
Franco
>Hi all,
>I'm trying to write a routine to identify duplicate records. I have a select statement that uses certain criteria to compare each record with all the others in the table. This seems to work but foreach record that produces a match I also get a match when I get to the matched record a compare that. Is there some way to prevent this?
>
>My results look something like
>id1 id2
>1 2
>2 1
>All I really want in this instance is one entry.
>This is the select statement
>SELECT Addresses.iid, Addresses_a.iid;
> FROM duplicates!addresses, duplicates!addresses Addresses_a;
> WHERE Addresses.iid <> Addresses_a.iid;
> AND Addresses.csurname == Addresses_a.csurname;
> AND Addresses.cforename == Addresses_a.cforename;
> AND (Addresses.caddress_1 == Addresses_a.caddress_1;
> OR (Addresses.cpostcode == Addresses_a.cpostcode));
> ORDER BY Addresses.csurname, Addresses.cforename
>
>Many thanks in anticipation.