表A中有三个字段rq,gh,sl
rq gh sl
2017-07-07 001 10
2017-07-07 002 11
2017-07-07 003 12
要求:更新003的sl值等于sl字段中最小值减去1,
该怎么写
判断002和003的sl值,假设002的sl值<003的sl值, 那么:002的sl值=sl字段中最小值-2,003的sl值=sl字段中最小值-1
相反如果判断出003的sl值<002的sl值, 那么:003的sl值=sl字段中最小值-2,002的sl值=sl字段中最小值-1
update A set s1 = if((select s1 from A where gh = 002) < (select s1 from A where gh = 003),(select min(s1) from A)-2,(select min(s1) from A)-1) where gh = 002
这一句sql是修改s2的值的,s3的相对应
谢谢
1、写一句取出sl字段最小值的SQL你懂么?
2、写一句更新003的sl值的SQL你懂么?
3、连在一起就行了。
update A set sl=(select min(sl) from A )-1 where gh=003
谢谢!
判断002和003的sl值,假设002的sl值<003的sl值, 那么:002的sl值=sl字段中最小值-2,003的sl值=sl字段中最小值-1
相反如果判断出003的sl值<002的sl值, 那么:003的sl值=sl字段中最小值-2,002的sl值=sl字段中最小值-1