有如下表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什么控件。最好给点代码。
多谢了。
款号 工序 工号 单价 数量
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什么控件。最好给点代码。
多谢了。
解决方案 »
- 如何知道tcomm串口的状态是关闭还是打开
- BT题目 大家来回答~
- 帮忙看一下返回值的形式
- 一个简单回调函数问题?怎么编译时提示"Variable required"?请大家帮忙解决!
- 如何将一个长的字符串分割成几个子串,分隔标志是回车或换行符号。
- 一个有关BMP位图文件处理的问题,急,请高手赐教!
- DELPHI里用Qreport做报表,打印的时候字段太长,能不能折行打印?那为大侠帮帮忙,急!!!急!!!急!!!
- 我如何能让mail发送的默认头信息charset="GB2312"变为charset="utf-8"?
- (详情请进)用vc做的一个支持自动化的组件,注册之后,用deliphi写的客户端调用,返回值老是出错,求助!!!
- 送100分:支持者有分。
- 有关OPENDIALOG访问服务器磁盘的问题
- 怎么使数据库的游标往上走啊。。
正确是update b set 单价 = (select 单价 from a ) where a.款号=b.款号 and a.工序=b.工序
begin
close;
sql.clear;
sql.add('你的SQL语句');
ExecSQL;
end;
update b set 单价 = (select 单价 from a ) where a.款号=b.款号 and a.工序=b.工序也就是 xdf221 写的
怎么大家会有 update b 呢?
我的意思是用B表的单价字段来替换A表的中的字段。
begin
close;
sql.clear;
sql.add('update a set 单价 = (select 单价 from a ) where a.款号=b.款号' + 'and a.工序=b.工序);
ExecSQL;
end;
on a.款号=b.款号 and a.工序=b.工序
set b.单价=a.单价