Finding Orphans

From: Lucky Leavell [RIS] <ris_at_iglou.com>
Date: Mon, 8 Jan 2001 16:08:56 -0500
Message-ID: <Pine.GSO.4.31.0101081607350.21269-100000_at_shell1>


I have a situation whereby I am trying to determine the number of orphans in an addresses table by checking for those address keys NOT IN the five tables which use it, to wit:

SELECT count(*)
  FROM address
 WHERE addr_key NOT IN (SELECT addr_key

                          FROM client)
   AND addr_key NOT IN (SELECT addr_key
                          FROM employee)
   AND addr_key NOT IN (SELECT addr_key
                          FROM groups)
   AND addr_key NOT IN (SELECT addr_key
                          FROM patient)
   AND addr_key NOT IN (SELECT addr_key
                          FROM provider)

These tables contain anywhere from a few hundred to a few million rows and only the address and patient tables have an index on the addr_key column. After running three hours the query returns a zero count which I know is NOT correct.

After pulling hair (and I don't have that much left to pull!), I still cannot see what I am missing. Any ideas? Is there a better way to do this?

Thank you,
Lucky

Lucky Leavell                      Phone: (800) 481-2393 or (812) 366-4066
UniXpress - Your Source for SCO      FAX: (888) 231-9640 or (812) 366-3618
1560 Zoar Church Road NE           Email: lucky_at_UniXpress.com
Corydon, IN 47112-7374     WWW Home Page:  http://www.UniXpress.com
Received on Mon Jan 08 2001 - 22:08:56 CET

Original text of this message