- 爱易网页
-
MSSQL教程
- 求一批量更新数据的语句解决办法
日期:2014-05-18 浏览次数:20489 次
求一批量更新数据的语句
有a,b两表如下:
a: b:
aID aLocation aResult bID bLocation bLocked
1 1 L1 N
2 2 L2 N
3 3 L3 Y
4
5
6
更新的时候首先判断 bID 中是否含有与a相同的aID,有的话aLocation写为对应b表的bLocation,判断bLocked 是否是N,是的话将a表的aResult写为X,负责写为Y,如果b表中没有与aID相同的bID,aLocation不变,aResult写为Z.结果如下:
a:
aID aLocation aResult
1 L1 X
2 L2 X
3 L3 Y
4 Z
5 Z
6 Z
谢谢!!
------解决方案--------------------
Update
A
Set
aLocation = isnull(B.bLocation, ' '),
aResult = (Case B.bLocked When 'N ' Then 'X ' When 'Y ' Then 'Y ' Else 'Z ' End)
From
A
Left Join
B
On A.aID = B.bID
------解决方案--------------------