soo*_*ise 0 sql sql-server-2008-r2
我有一个非常低效的sql脚本,它采用下表,并使用游标填充val2.我希望能够通过单次更新更新所有val2值,但是每行使用val1计算val2.
val1: 1, val2 0
val1: 2, val2 0
val1: 3, val2 0
val1: 4, val2 0
val1: 5, val2 0
Run Code Online (Sandbox Code Playgroud)
所以我想,你会有这样的事情:
UPDATE Table SET val2 = (some code based on val1 for each row)
Run Code Online (Sandbox Code Playgroud)
我怎么能把它写成一行sql?
update table set val2 = val1 + 1
Run Code Online (Sandbox Code Playgroud)
像那样工作!如果您希望通过case语句应用某些代码集:
update table set
val2 =
case
when val1 = 1 then 'One'
when val1 = 2 then 'Two'
when val1 = 3 then 'Three'
else 'Something something'
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
805 次 |
| 最近记录: |