我正在尝试根据另一列的条件更新列。 像这样的东西, >
服装app | SPV id | spv app
| test | | test | | | | |
预期:
服装App | Spv id | SPV App
批准|测试|
批准|测试|
批准| |批准
批准| |批准
因此,当第2列不为null时,则更新第1列,如果第2列为null,则更新第1列和第3列。
这是我的代码:
strcommand = "update tbl_Approve set [Attire App] = 'Approved', [Attire Date] = @ADate, [SPV app] = case when [spv id] is null then 'Approved' END where [attire app] is null"
在视觉上我没有添加另一个名为[attire date]的列,假设视觉中有该列。 但它不起作用,它只是更新第1列...... 你对这个问题有什么建议吗?
提前感谢。
答案 0 :(得分:1)
我无法关注您的代码,因为它使用了描述中的不同列名。但是,您想要的逻辑是:
update yourtable
set col1 = @COL1,
col3 = (case when col2 = '' or col2 is null then @COL3 else col3 end);
请注意else
声明中的case
。这会将列的值设置为自身 - 因此值不会更改。