表1:级别   执行标准  地区   补助1  补助2
1       管理      aa     100    100....表2:
工号   姓名    级别    执行标准   地区   补助1   补助2
1111   qqq      1       管理       aa    100      100用一sql语句实现表2的更新.
根据表2中的级别,执行标准,地区调出表1中相应的补助情况,更新表1.如果在表1中没找到相应的记录,则补助为零,谢谢了

解决方案 »

  1.   

    update 表2 set 
    补助1 = IsNull((select 补助1 from 表1 where 表2.级别 = 表1.级别 and 表1.地区 = 表2.地区 and ),0),  
    补助2 = IsNull((select 补助2 from 表1 where 表2.级别 = 表1.级别 and 表1.地区 = 表2.地区 and ),0)
      

  2.   

    已经回答了……
    我还是重复一遍吧:update 表2 set 
    补助1 = IsNull((select 补助1 from 表1 where 表2.级别 = 表1.级别 and 表1.地区 = 表2.地区 and ),0),  
    补助2 = IsNull((select 补助2 from 表1 where 表2.级别 = 表1.级别 and 表1.地区 = 表2.地区 and ),0)
      

  3.   

    update 表2 set  //老大,是更新表1啊UPDATE 表1 SET 
    补助1 = IsNull((SELECT 补助1 FROM 表2 WHERE 表2.级别 = 表1.级别 AND 表1.地区 = 表2.地区 AND 表1.执行标准=表2.执行标准),0),  
    补助2 = IsNull((SELECT 补助1 FROM 表2 WHERE 表2.级别 = 表1.级别 AND 表1.地区 = 表2.地区 AND 表1.执行标准=表2.执行标准),0),  蹭点分 ^V^
      

  4.   

    楼上的看清楚
    用一sql语句实现表2的更新.
      

  5.   

    upDate 表2 
      set 补助1=isnull(a.补助1,0),补助2=isnull(a.补助2,0)
      from 表1 a ,表2  
      where a.级别=表1.级别 and a.地区=表1.地区
      

  6.   

    对不起,写错了,应该是:
    用一sql语句实现表2的更新.
    根据表2中的级别,执行标准,地区调出表1中相应的补助情况,更新表2.如果在表1中没找到相应的记录,则补助为零,谢谢了
      

  7.   

    update rs_jbqk set (c6,c7,c8)=(select 岗位工资标准,岗位工资补贴,岗效工资 from gz_gw where rs_jbqk.c3=gz_gw.级别 and rs_jbqk.c4=gz_gw.执行标准2 and rs_jbqk.c10=gz_gw.执行标准1); 
    搞定
      

  8.   

    oracle不支持isnull请问dbgrid中为何不能修改?
      

  9.   

    >>请问dbgrid中为何不能修改?不用SQL请问怎么个改法啊??
      

  10.   

    http://blog.csdn.net/jinjazz/archive/2004/09/23/114499.aspx第20条