首页 新闻 会员 周边

新手上路,,

0
[已解决问题] 解决于 2017-07-10 22:49

表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

wodao的主页 wodao | 菜鸟二级 | 园豆:212
提问于:2017-07-08 03:24
< >
分享
最佳答案
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的相对应

奖励园豆:5
兰冰点点 | 菜鸟二级 |园豆:401 | 2017-07-10 15:22

谢谢

 

wodao | 园豆:212 (菜鸟二级) | 2017-07-10 22:36
其他回答(1)
0

1、写一句取出sl字段最小值的SQL你懂么?

2、写一句更新003的sl值的SQL你懂么?

3、连在一起就行了。

收获园豆:5
爱编程的大叔 | 园豆:30839 (高人七级) | 2017-07-08 09:34

update A set sl=(select min(sl) from A )-1 where gh=003

谢谢!

支持(0) 反对(0) wodao | 园豆:212 (菜鸟二级) | 2017-07-08 16:46

判断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

 

支持(0) 反对(0) wodao | 园豆:212 (菜鸟二级) | 2017-07-08 16:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册