UPDATE order_items AS U1 INNER JOIN (SELECT X.provider_id, X.product_id, X.order_id, X.model_id, Y.qty, (SELECT M.price * N.discount FROM quotation AS M LEFT JOIN quotation_discount N ON M.provider_id = N.provider_id AND M.product_id = N.product_id WHERE M.model_i = X.model_id AND M.provider_id = X.provider_id AND Y.qty BETWEEN N.min_quantity AND N.max_quantity) AS price FROM (SELECT A.model_id, A.order_id, B.provider_id, C.product_id FROM order_inquiry_items A LEFT JOIN order_inquiry B ON A.order_inquiry_id = B.id LEFT JOIN product_model C ON A.model_id = C.id WHERE A.order_id = 23 AND B.provider_id = 14 AND C.product_id = 1) AS X LEFT JOIN order_items Y ON X.model_id = Y.model_id AND X.model_id = Y.model_id) AS U2 ON U1.order_id = U2.order_id AND U1.model_id = U2.model_id SET U1.price = U2.price 