我正在使用SQL Server:我需要根據檢查兩個列值逐個更新臨時表中的列(電話號碼)。這裏是我當前版本的代碼:基本上它所做的是,它根據匹配連接條件的位置在臨時表中設置列的值。在檢查兩列時設置臨時表中的值
update r
set t.phone_number = tb.phone_number
from #temptable t
inner join phone_number_records tb
on t.id = tb.id
and 1 = tb.is_this_valid
現在,我需要檢查phone_number_records表中的另一列值(ready_to_accept_new)和更新臨時表的PHONE_NUMBER場按ready_to_accept_new值。如果ready_to_accept_new等於「1」,並且temptable的「id」與phone_number_records的「id」匹配,我需要在具有匹配記錄phone_number(在phone_number_records表中)的temptable中設置phone_number值。如果此條件沒有匹配的記錄,我們需要將臨時表記錄更新爲以前的記錄(從匹配is_this_valid列值「1」記錄)。
有人能讓我知道如何解決這個問題嗎?提前致謝!
很可能'MERGE'會讓你的生活更容易完成。如果您在樣本數據中添加少量行並獲得期望結果,那麼有人很可能會寫出答案。沒有例子,你目前對邏輯的描述很難理解。 –