我有一个包含一个下拉列表:
Rank1
Rank2
Rank3
Rank4
和更新按钮。
我有以下的记录像
id name rank
1 chetan 1
2 ajay 3
3 kelly 2
我想写更新SQL查询以这样的方式:
这就像顶级的偏好。更高级别的队伍不应该被更新,以较低的行列,但低等级可以更新到更高的行列。
我试着查询中使用Case when
但它不工作:
update cmp set cmp.rank = case when 'Rank4' Then update cmp set cmp.rank='Rank3' or cmp.rank='Rank2' or cmp.rank='Rank1' else cmp.rank end,
cmp.rank=case when 'Rank3' Then update cmp set cmp.rank='Rank2' or cmp.rank='Rank1' else cmp.rank end,
...
对此有任何其他的解决办法?
这里有一种方法
update t
set t.rank='<passed_in_value_from_dropdown>'
where '<passed_in_value_from_dropdown>' < t.rank
and t.emp = '<passed_in_emp_number>'