• DoH.  I can use exists and 'not exists'.  I guess that's the better option.


    SELECT person, category, item, Qty FROM Sales
    UNION
    SELECT person, category, item, 0 AS Qty FROM POSS
    WHERE EXISTS
    -- Only return the people and categories which have sales
    (SELECT S.person from Sales S WHERE S.person = POSS.person AND S.category = POSS.category)
    AND  NOT EXISTS
    -- Do not return rows which already exist in Sales
    (SELECT S.person from Sales S WHERE S.person = POSS.person AND S.category = POSS.category AND S.item = POSS.item)