• I made a mistake, it is in the ON statement that must be conditional, and only on that one field. The data is too messy to get a good sample, but here is the code

    SELECT p.Warehouse, p.PartNo, COUNT(w.WONo) AS OrderCount, SUM(w.Qty) AS QtySold, MAX(EntryDate) AS LastSaleDate, WONo

    FROM (SELECT WONo, EntryDate, Qty, BillTo, PartNo, PartNoAlias

    FROM woparts

    WHERE Left(billto,1)='t' and EntryDate > '2012-10-16' and WONo<910000000) w

    right join

    (SELECT *

    FROM parts

    WHERE Left(Warehouse,1)='t' and OnHand > 0) p

    ON (p.partno=w.partno or w.PartNo = p.PartNoOriginal or w.partno = p.PartNoAlias or w.PartNo = p.OldNUmber or if(p.PartNoAlias='',,w.PartNoAlias=p.PartNoAlias)) and p.Warehouse= left (w.BillTo,5)

    GROUP BY p.Warehouse, p.PartNo, WONo