表格式如下
NO  VAL
1    0
2    0
3    12希望用一条SQL语句实现:NO=2的VAL = NO=3的VAL
然后NO=1的VAL=NO=2的VAL+NO=3的VAL结果应该是
NO  VAL
1    24
2    12
3    12

解决方案 »

  1.   

    表格式如下 
    NO  VAL 
    1    0 
    2    0 
    3    12 希望用一条SQL语句实现:NO=2的VAL 等于 NO=3的VAL 
    然后NO=1的VAL等于NO=2的VAL+NO=3的VAL 结果应该是 
    NO  VAL 
    1    24 
    2    12 
    3    12这样的说法可能明白点……
      

  2.   

    为什么要一条实现?
    实际上你的说法可以换种,就能解决了
    NO=2的VAL  = NO=3的VAL  ;
    NO=1的VAL = NO=2的VAL+NO=3的VAL = NO=3的VAL  *2;这样就会了!
    update table
    val = (2/no) * (select val from table where no=3) --按照你的no,还可以这样写;否则要写case when活decode了
    where no in (1,2);
      

  3.   

    update table a set val=(select val from table b where b.no=3) where a.no=2;
    update table a set val=(select val*2 from table b where b.no=3) where a.no=1;