你能帮我解决这个问题。
我有source table
和target table.
我想使用来源table A
更新目标table B
中的列。
如果我使用table B
找到与inner join
的匹配项,那么我想在target table column
中更新它,否则如果不匹配,我想将目标表中的列更新为-1。
ie.something like this ...
update table a
set a.column1= b.column1
from table a inner join table b
on a.column1=b.column1
如您所知,只有在源表中找到匹配值时,上述查询才会更新target table's
列。
但我还希望在找不到与源表b匹配时将target table 's
列设置为-1
。
我已经尝试了很多,可以找到解决方案。 任何人都可以试试这件事......提前致谢。
答案 0 :(得分:2)
喜欢这个。我认为NULL会比代理-1值更合适,但这取决于你。就个人而言,当真正有意义的是NULL时,我真的不喜欢占位符值。
update table a
set a.column1 = isnull(b.column1, -1)
from table a
left join table b on a.column1=b.column1