SELECT p.product_id, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_rcg_product rcgp ON (p.product_id = rcgp.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '3' AND p.status = '1' AND (rcgp.customer_group_id = '' OR (FIND_IN_SET (0, rcgp.customer_group_id))) AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( (17 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (18 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (20 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (25 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (57 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (37 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (72 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (45 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (46 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (47 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (71 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (26 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (27 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (44 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (48 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (50 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (61 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (62 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (60 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (59 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (58 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (43 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (63 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (76 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (66 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (67 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (68 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (70 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (73 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (85 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (77 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (78 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (79 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (80 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (81 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (82 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (83 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (84 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (86 IN ((SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id))) OR (SELECT GROUP_CONCAT(p2c2.category_id separator ', ') FROM oc_product_to_category p2c2 WHERE p2c2.product_id=p.product_id) = '') AND ( p.manufacturer_id = 0 OR p.manufacturer_id = 5 OR p.manufacturer_id = 6 OR p.manufacturer_id = 7 OR p.manufacturer_id = 8 OR p.manufacturer_id = 9 OR p.manufacturer_id = 10 OR p.manufacturer_id = 11 OR p.manufacturer_id = 12 OR p.manufacturer_id = 13 OR p.manufacturer_id = 14 OR p.manufacturer_id = 15 OR p.manufacturer_id = 16 OR p.manufacturer_id = 17 OR p.manufacturer_id = 18 OR p.manufacturer_id = 19 OR p.manufacturer_id = 20 OR p.manufacturer_id = 21 OR p.manufacturer_id = 22 OR p.manufacturer_id = 23 OR p.manufacturer_id = 24 OR p.manufacturer_id = 25 OR p.manufacturer_id = 26 OR p.manufacturer_id = 27 OR p.manufacturer_id = 28 OR p.manufacturer_id = 29 OR p.manufacturer_id = 30 OR p.manufacturer_id = 31 OR p.manufacturer_id = 32 OR p.manufacturer_id = 33 OR p.manufacturer_id = 34 OR p.manufacturer_id = 35 OR p.manufacturer_id = 36 OR p.manufacturer_id = 37 OR p.manufacturer_id = 38 OR p.manufacturer_id = 39) GROUP BY p.product_id ORDER BY (CASE WHEN p.quantity > 0 THEN 0 ELSE 1 END) ASC, p.sort_order ASC, LCASE(pd.name) ASC