Узнайте, является ли хранилище, связанное с каждой транзакцией, H, M или L
. Вы можете использовать объединение Table_B для столбца хранилища, чтобы получить Creteria_A
select A.*,B.Creteria_A
from Table_A A
left join Table_B B on A.store = B.store
После определения классификации H, M или L из таблицы B, затем объедините ее с таблицей 3, чтобы найти соответствующее скорректированное значение
В качестве примера, транзакция 1 будет классифицирована как H и основана, а критерии BX, поэтому соответствующее скорректированное значение будет 0,01
, вы можете использовать sql-сервер cte update
, чтобы сделать это
with cte as (
select A.*,B.Creteria_A,C.Adjusted_Value
from Table_A A
join Table_B B on A.store = B.store
join Table_C C on B.record = C.record
)
update cte set [value + Adjusted Value] = Value + Adjusted_Value;
спасибо, Вей! Есть ли способ сделать это без CTE?
вы можете использовать update join
UPDATE
Table_A
SET
[value + Adjusted Value] = Value + C.Adjusted_Value;
FROM
Table_A A
join Table_B B on A.store = B.store
join Table_C C on B.record = C.record
;