Кстати, в нашей версии нет такого "не равны нулю"
А я как написал?
SELECT c.article || ' ' || 0 FROM smcard c WHERE c.article NOT IN ( SELECT DISTINCT g.article FROM smgoods g WHERE g.quantity != 0 UNION ALL SELECT DISTINCT s.article FROM smspec s WHERE (s.doctype, s.docid) IN (SELECT d.doctype, d.ID FROM smdocuments d WHERE d.doctype IN ('CS', 'CR', 'WI', 'WO', 'IW') AND d.createdat BETWEEN TRUNC (SYSDATE - 90, 'MON') AND SYSDATE) AND s.article IN (SELECT DISTINCT g.article FROM smgoods g WHERE g.quantity = 0));