I'm trying to solve [Exercise 25](http://www.sql-ex.ru/exercises/index.php?act=learn&LN=25) from sql-ex.ru:

> 
> The database scheme consists of four tables:
> 
> 
> * Product(maker, model, type)
> * PC(code, model, speed, ram, hd, cd, price)
> * Laptop(code, model, speed, ram, hd, screen, price)
> * Printer(code, model, color, type, price)
> 
> 
> Find the printer makers also producing PCs with the lowest RAM capacity and the highest processor speed of all PCs having the lowest RAM capacity. 
>  Result set: maker.
> 
> 
> 

I can't see why the following query does not produce the desired result on the second checking database:

```
SELECT DISTINCT product.maker
FROM product
RIGHT JOIN printer ON printer.model = product.model
WHERE product.maker IN(
    SELECT product.maker
    FROM product
    RIGHT JOIN pc ON pc.model = product.model
    WHERE pc.ram = (SELECT MIN(ram) FROM pc)
    AND pc.speed = (
        SELECT MAX(t.speed)
        FROM (SELECT speed FROM pc WHERE ram = (SELECT MIN(ram) FROM pc)) AS t
    )
)

```

The error is as follows:

```
Wrong
Your query produced correct result set on main database, but it failed test on second, checking database
* Wrong number of records (less by 1)

```

Why does it fail to pick exactly 1 maker?