专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VFP

关于数据处理的有关问题

发布时间:2010-05-24 21:14:42 文章来源:www.iduyao.cn 采编人员:星星草
关于数据处理的问题
有一数据表内容如下
CREATE CURSOR T (订单编号 C(4),客户号码 C(4),订单形式 C(4),色纹 C(4),材质 C(4),数量 N(4))
INSERT INTO T VALUES ([P001],[S001],[普通],[F186],[发泡],100)
INSERT INTO T VALUES ([P001],[S001],[普通],[F286],[发泡],150)
INSERT INTO T VALUES ([P001],[S001],[普通],[F186],[发泡],50)
INSERT INTO T VALUES ([P001],[S001],[异形],[W889],[木头],60)
INSERT INTO T VALUES ([P001],[S001],[异形],[F286],[发泡],20)
INSERT INTO T VALUES ([P001],[S001],[普通],[W889],[木头],20)
INSERT INTO T VALUES ([P006],[D001],[普通],[F123],[发泡],10)
INSERT INTO T VALUES ([P006],[D001],[普通],[F256],[发泡],20)
INSERT INTO T VALUES ([P006],[D001],[普通],[W556],[木头],65)


转换为如下结果

订单号码 客户号码 订单形式   色纹             材质             数量
P001    S001    普通/异形  F186/F286/W889 木头/发泡       400
P006    D001    普通       F123/F256/W556 木头/发泡        95

求最简单的方法
------解决思路----------------------
不是最简单的方法

Create Cursor T (订单编号 C(4),客户号码 C(4),订单形式 C(4),色纹 C(4),材质 C(4),数量 N(4))
Insert Into T Values ([P001],[S001],[普通],[F186],[发泡],100)
Insert Into T Values ([P001],[S001],[普通],[F286],[发泡],150)
Insert Into T Values ([P001],[S001],[普通],[F186],[发泡],50)
Insert Into T Values ([P001],[S001],[异形],[W889],[木头],60)
Insert Into T Values ([P001],[S001],[异形],[F286],[发泡],20)
Insert Into T Values ([P001],[S001],[普通],[W889],[木头],20)
Insert Into T Values ([P006],[D001],[普通],[F123],[发泡],10)
Insert Into T Values ([P006],[D001],[普通],[F256],[发泡],20)
Insert Into T Values ([P006],[D001],[普通],[W556],[木头],65)

Select 订单编号,客户号码,Space(254) As 订单形式,Space(254) As 色纹,Space(254) As 材质,Sum(数量) As 数量 Into Table 结果表 From T Group By 1,2 Order By 1,2

Select 订单编号,客户号码,订单形式 Into Cursor cc From T Group By 1,2,3
Select cc
Scan
Update 结果表 Set 结果表.订单形式=Alltrim(结果表.订单形式)+'/'+Alltrim(cc.订单形式) Where 结果表.订单编号=cc.订单编号 And 结果表.客户号码=cc.客户号码
Endscan

Select 订单编号,客户号码,色纹 Into Cursor cc From T Group By 1,2,3
Select cc
Scan
Update 结果表 Set 结果表.色纹=Alltrim(结果表.色纹)+'/'+Alltrim(cc.色纹) Where 结果表.订单编号=cc.订单编号 And 结果表.客户号码=cc.客户号码
Endscan

Select 订单编号,客户号码,材质 Into Cursor cc From T Group By 1,2,3
Select cc
Scan
Update 结果表 Set 结果表.材质=Alltrim(结果表.材质)+'/'+Alltrim(cc.材质) Where 结果表.订单编号=cc.订单编号 And 结果表.客户号码=cc.客户号码
Endscan

Update 结果表 Set 订单形式=Substr(订单形式,2),色纹=Substr(色纹,2),材质=Substr(材质,2)
Select 结果表
Browse

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: