Я пытаюсь обновить таблицу, которая питается 2 потоками, 1-й мне нужно сделать FillRateCode (колонку, которую я хочу обновить), равную FillRateCode от BWH_OTC_Order, но для 2-го потока я поставил его равным «-1»UPDATE, используя случай, когда существует (не получается правильный результат)
это мой сценарий:
use BITS
;with tmp as (
select SalesOrderItemNum, SalesOrderNum, FillRateCode
From
BWH_OTC_Order
INNER JOIN REF_Company Comp
ON (Comp.CompanyCode= BWH_OTC_Order.CompanyCode AND Comp.DivisionCode='TEE')
where RevisedPGIDate is not null
)
UPDATE bits_tee.dbo.DMT_TEE_OTC_OrderFulFill
SET FillRateCode = case when exists (select 1 from tmp) then tmp.FillRateCode else '-1' end
FROM bits_tee.dbo.DMT_TEE_OTC_OrderFulFill DMT
left outer join tmp
on tmp.SalesOrderItemNum = DMT.SalesOrderItemNum
and tmp.SalesOrderNum = DMT.SalesOrderNum
и это результат я получаю
NB BWH_FillRateCode DMT_FillRateCode
124457 NULL NULL
73991 0 0
457507 1 1
28632 -1 -1
4849 2 2
34262 3 3
для обнуляет правильное переключение - ge t '-1' в DMT_FillRateCode
Есть вопросы?
Thx по advence
ok ... спасибо –