Когда я использовал MySQL, который не поддерживал ни подзапросы, ни обновления нескольких таблиц, я использовал трюк, чтобы описать то, что вы описываете. Запустите запрос, результаты которого сами являются операторами SQL, а затем сохраните вывод и запустите его как сценарий SQL.
SELECT CONCAT(
'UPDATE products SET products_ordered = ',
SUM(products_quantity),
' WHERE product_id = ', products_id, ';') AS sql_statement
FROM orders_products
GROUP BY products_id;
Кстати, такой версии MySQL 3.5.x, насколько я знаю, не существует. Я думаю, что вы, возможно, сообщили, что это неправильно. Или же вы используете другой продукт, такой как mSQL.
Редактировать: Я забыл добавить точку с запятой в оператор SQL, сгенерированный запросом выше.