That's a tough one!
First you have to LEFT JOIN
the sales_history
to the product
table.
Mind that we are interested ONLY in products sold BETWEEN
the 2015-02-01 AND
2015-02-05 so we need to add filtering before the LEFT JOIN
as applied:
AND date BETWEEN '2015-02-01' AND '2015-02-05'
Then we can safely join the producer table.
However, mind that we wanted to return the name of products that weren't sold on that day, so we have to apply one final condition:
WHERE sh.product_id IS NULL
Type:
SELECT
p.name AS product_name,
p.price,
prod.name AS company_name
FROM product p
LEFT JOIN sales_history sh
ON p.id = sh.product_id
AND date BETWEEN '2015-02-01' AND '2015-02-05'
JOIN producer prod
ON p.producer_id = prod.id
WHERE sh.product_id IS NULL