首页 新闻 会员 周边

关于SQL 更新问题

0
悬赏园豆:10 [已解决问题] 解决于 2016-10-19 11:46

有如下图表数据:

现在要根据OrderNO和CarTypeNO来更新OutQty中的数量,还要根据StartTime中的时间先后来更新,就是先更新2016-10-17这条记录中的OutQty,如果2016-10-17日这条记录的OutQty=CarNum,就更新下一时间点(2016-10-18)日这条记录的OutQty数据!该如何实现???

SQL
viming的主页 viming | 初学一级 | 园豆:7
提问于:2016-10-18 14:56
< >
分享
最佳答案
0

这逻辑就有点复杂了,单凭一条语句肯定做不到。。。

收获园豆:10
顾晓北 | 专家六级 |园豆:10844 | 2016-10-18 15:47

 感谢!!想了个办法解决问题了,利用子查询可以的!

viming | 园豆:7 (初学一级) | 2016-10-19 11:41
其他回答(3)
0

为什么不根据OCID更新

liuxb1991 | 园豆:661 (小虾三级) | 2016-10-18 15:37
0

写两条吧,一条select,一条update。

Daniel Cai | 园豆:10424 (专家六级) | 2016-10-18 23:07

 写一条可以,用子查询。

支持(0) 反对(0) viming | 园豆:7 (初学一级) | 2016-10-19 11:41
0

UPDATE tableName SET IntQty += 1 WHERE OrderNo='t001' AND CarTypeNo='456' AND CarNum >OutQty AND StartTime=
(SELECT MIN(StartTime) FROM tableName WHERE OrderNo='t001' AND CarTypeNo='456' AND CarNum >OutQty);

viming | 园豆:7 (初学一级) | 2016-10-19 11:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册