SQL query to exclude rows within same table with duplicate field values -
i'll try brief.
i have single table need data from, contacts.
there company field , can in either company or company b.
all contacts in company b have duplicate in company a, can matched column legacyid
.
what i'm trying company rows not have in company b same legacyid
.
i've tried and legacyid not in (select legacyid contacts company = 'b')
and not exists (select legacyid contacts company = 'b')
.
neither of above work because there 260,000 company contacts , 96,000 company b. not in
, not exists
worked when there less 50,000 rows total, data migration, query timing out or running forever.
thanks
if understand correctly, not exists
should want:
select c.* contacts c companyid = 'a' , not exists (select 1 contacts c2 c2.legacyid = c.legacyid , c2.companyid = 'b' );
for performance, want index on contacts(legacyid, companyid)
.
Comments
Post a Comment