select (a.filed1+b.filed2)/b.filed2 from a,b where a.filed3 = b.filed3如何update c set 以上的 select 语句中的值,条件是 c 中的 filed3 与a ,b  中的filed3 相等

解决方案 »

  1.   

    语法上可以用 updata c set c表的某个字段 =(select (a.filed1+b.filed2)/b.filed2 from a,b where a.filed3 = b.filed3)where 条件
      

  2.   

    但是你的需求不明确,你要update的字段最好不是where条件里的字段,要不就是死循环,另外,必须保证set之后的select 语句执行的结果是符合条件的唯一值,否则,会因为有多个值而报错。
    建议最好用游标来做,这样逻辑比较清楚,而且不会错误。
      

  3.   

    a,b表关联后再和c表关联,将select 后的值update一下c表字段。
      

  4.   

    Try statement below:update c set ccolumn = 
    (
      select (a.filed1+b.filed2)/b.filed2 
      from a,b 
      where a.filed3 = b.filed3 
      and a.field3 = c.field3
    )