Try the following query:
SELECT maker, AVG(hd) FROM PC, Product
WHERE PC.model=Product.model
AND Product.maker IN
(SELECT DISTINCT maker FROM Product WHERE type='PR')
GROUP BY Product.maker;
Demo: http://sqlfiddle.com/#!2/abfaa/2
You simply add a condition to make sure that the maker is one of the makers that have at least one printer product. You then group by the maker to find the individual averages.