SELECT fieldlist GROUP BY etc.; FROM PoItems ; INNER JOIN PoMain ON pomain.ponum = poitems.ponum ; INNER Join SupInfo On PoMain.UniqSupNo = SupInfo.UniqSupNo ; INNER join Newfields ON newfields.uniq_key = PoItems.Uniq_key ; LEFT Outer Join PoItSchd On PoItems.UniqLnNo = PoItSchd.UniqLnNo ; WHERE PoItems.uniq_key = lcUniqKey AND Not EMPTY(PoItems.ponum) AND NOT poitems.lCancel; HAVING condI typically try to write my queries so that the JOIN parts only show the joining criteria and put selection criteria into WHERE