有如下图表数据:
现在要根据OrderNO和CarTypeNO来更新OutQty中的数量,还要根据StartTime中的时间先后来更新,就是先更新2016-10-17这条记录中的OutQty,如果2016-10-17日这条记录的OutQty=CarNum,就更新下一时间点(2016-10-18)日这条记录的OutQty数据!该如何实现???
这逻辑就有点复杂了,单凭一条语句肯定做不到。。。
感谢!!想了个办法解决问题了,利用子查询可以的!
为什么不根据OCID更新
写两条吧,一条select,一条update。
写一条可以,用子查询。
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);