将数据集中的相同项目合并
2015-08-02 14:41
323 查看
问题描述:一张表中有两个字段,一个是名称,一个是金额,假如名称相同,则合并,金额相加。
解法:
1、先建表
2、建立两个数据集cds1、cds2,cds1记录原始数据,cds2记录合并后的数据:
解法:
1、先建表
[sql]create table tablet ( name VARCHAR2(40) not null, price NUMBER(4) not null ) create table tablew ( name VARCHAR2(40) not null, price NUMBER(4) not null )[/sql]
2、建立两个数据集cds1、cds2,cds1记录原始数据,cds2记录合并后的数据:
[delphi] begin cds1.Close; cds1.CommandText := ' select name, price from tablet '; cds1.Open; cds2.Close; cds2.CommandText := ' select name, price from tablew where 1=0 '; cds2.Open; cds1.First; while not cds1.Eof do begin cds2.First; if cds2.Locate('name',cds1.FieldByName('name').AsString,[] ) = false then begin cds2.Append; cds2.FieldByName('name').AsString := cds1.FieldByName('name').AsString; cds2.FieldByName('price').AsInteger := cds1.FieldByName('price').AsInteger; cds2.Post; end else begin cds2.Edit; cds2.FieldByName('price').AsInteger := cds2.FieldByName('price').AsInteger + cds1.FieldByName('price').AsInteger; cds2.Post; end; cds1.Next; end; end; [/delphi]
相关文章推荐
- hihoCoder - 1038 - 01背包
- Hduoj1039【水题】
- Apache HttpClient组件封装工具类
- Reverse Nodes in k-Group
- PingingLab的项目案例二的部署实现
- Exception in thread "main" java.lang.UnsupportedClassVersionError
- Codeforces Round #288 (Div. 2) C. Anya and Ghosts 贪心
- 小贝_redis set/zset类型学习
- 第十二天:数组,异常,常用类,正则表达式
- Scala学习第八天 Scala主构造器、私有构造器、构造器重载实战详解
- COM+应用程序错误(错误代码8004E00F)的解决方法
- PB inet组件 Post给php时怎么接收
- js实现商品团购活动到计时
- Reverse Linked List II
- hdu5316Magician 线段树
- BeautifulSoup的详细笔记
- Oracle用户被锁原因及办法
- Scala学习第六天 Map、Tuple、Zip实战解析
- oracle序列详解
- SQL Server游标的使用【转】