有如下表A:
     款号   工序   工号     单价      数量
   TX3001     1     001      0         100
   TX3001     2     002      0         100
   TX3001     3     002      0         100
   TX3001     4     003      0         100
   TX3001     5     004      0         100
   TX3001     7     012      0         10
   TX3001     6     014      0         500
   TX3001     6     016      0         300
   TX3001     6     017      0         100
   TX3001     5     010      0         100
   DX3000     2     001      0         150
   DX3000     2     003      0         250
   DX3000     2     001      0          50
   DX3000     2     002      0          50 表B:
   款号      工序          单价
   TX3001     1            0.2
   TX3001     2            0.2
   TX3001     3            0.2
   TX3001     4            0.2
   TX3001     5            0.2
   DX3000     1            0.5
   DX3000     2            0.4
   DX3000     3            0.6
用B表中的“单价”的字段替换成A表中的“单价字段,条件是 a.款号=b.款号 and a.工序=b.工序  B 表的单价与A表中的单价成一对多的关系。
请高手指点在delphi中怎么实现,要用到些ado什么控件。最好给点代码。
多谢了。

解决方案 »

  1.   

    用的是什么数据库?不同的数据库SQL语句不一样
      

  2.   

    SQLSERVER:update b set 单价 = (select 单价 from a where a.款号=b.款号 and a.工序=b.工序)
      

  3.   

    上面的有误,
    正确是update b set 单价 = (select 单价 from a ) where a.款号=b.款号 and a.工序=b.工序
      

  4.   

    用ADOQuerywith ADOQuery do
         begin 
            close;
            sql.clear;
            sql.add('你的SQL语句');
            ExecSQL;
         end;
      

  5.   

    SQL语句:
    update b set 单价 = (select 单价 from a ) where a.款号=b.款号 and a.工序=b.工序也就是 xdf221 写的
      

  6.   

    update b set 单价 = (select 单价 from a ) where a.款号=b.款号 and a.工序=b.工序
      

  7.   

    是Assecss数据库呢!
    怎么大家会有 update b 呢?
    我的意思是用B表的单价字段来替换A表的中的字段。
      

  8.   

    with ADOQuery do
         begin 
            close;
            sql.clear;
            sql.add('update a set 单价 = (select 单价 from a ) where a.款号=b.款号'   + 'and a.工序=b.工序);
            ExecSQL;
         end;
      

  9.   

    大家说说楼上的是不是不行啊!因为我的Access。跟slq server的写法应该不同.
      

  10.   

    update b inner join  a
    on a.款号=b.款号 and a.工序=b.工序
    set b.单价=a.单价
      

  11.   

    join 不可以的access中没有的