Я подойду к этому с одним join
между обеими таблицами, затем сгруппируюсь по столбцу CUSTNUM
таблицы ORDERS
и, наконец, добавлю необходимые условия для предложения HAVING
, например:
SELECT
o.CUSTNUM,
c.NAME
FROM
ORDERS AS o
INNER JOIN
CUSTOMER AS c ON c.CUSTNUM = o.CUSTNUM
GROUP BY
o.CUSTNUM
HAVING
( COUNT(DISTINCT o.CHEMNO) = 1 AND MIN(o.CHEMNO) = <some_chemno> )