I also had the problem of missing entries. I had figured out that the problem was with records not being found in SPEC tables. I just couldn't figure out how to set up the SQL to account for optional entries. NOW it works, this is what it looks like:
SELECT I.Key, I.Barcode, P.Part...