У меня есть таблица A с столбцами product_id, cost, year, квартал, ... et c. У меня есть другая таблица B со столбцами product_id, base_cost, current_year, p_year, p_quarter, p_order.
Я хочу написать запрос на обновление для обновления A из B. Мои условия -
WHERE A.product_id=B.product_id
and A.year=B.current_year
and A.year=B.p_year and A.quarter>B.p_quarter
and A.cost=0;
Но проблема в том, что при этих условиях, если у меня более одной строки в B, я хочу обновлять только те строки B, которые имеют минимум всех четвертей.
Пример 1-
Если A имеет одну строку как:
product_id cost year quarter
102 0 2019 1
102 0 2019 2
102 0 2019 3
102 0 2019 4
И B имеет две строки, соответствующие предложению where:
product_id cost current_year p_year quarter
102 3.5 2019 2019 3
102 1.8 2019 2019 1
102 0.5 2019 2019 2
Тогда обновленный A должен быть:
product_id cost year quarter
102 0 2019 1
102 1.8 2019 2
102 1.8 2019 3
102 1.8 2019 4