SELECT product_id,product_name,total_quantity,average_rating FROM products_underline JOIN ( SELECT product_id, ROUND(AVG(rating),2) AS average_rating FROM reviews_underline GROUP BY product_id HAVING AVG(rating) <4) a USING(product_id) JOIN (SELECT product_id, SUM(quantity) AS total_quantity FROM sales_underline GROUP BY product_id)b USING(product_id) ORDER BY average_rating, product_id