| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 605 人关注过本帖, 1 人收藏
标题:类似于顺序匹配(转贴)
只看楼主 加入收藏
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏(1)
 问题点数:0 回复次数:0 
类似于顺序匹配(转贴)
表1                                                 表2
NO  NANE                VALUE     EXP1    ORD(查找的先后顺序)   NANE    PRICE
1   上衣                 100      1000                1        上衣      10
2   上衣,标签           200      2000                2        标签      20
3   书,皮带,标签       300      6000                3        皮带      30
4   皮带,提单           400     12000                4                40
5   提单,标签,上衣     500      5000                5        提单      50
6   小册子               600    (空白)   
表1为不固定的数据,表2为标准数据
表1的NANE  及VALUE是已知,现在需要通过匹配表2的标准,赋予表1的EXP值。
程序代码:
CREATE CURSOR T1 (NO N(8),NAME C(20),VALUE N(8),EXP1 N(8))
INSERT INTO T1 (NO,NAME,VALUE) VALUES (1,[上衣],100)
INSERT INTO T1 (NO,NAME,VALUE) VALUES (2,[上衣,标签],200)
INSERT INTO T1 (NO,NAME,VALUE) VALUES (3,[书,皮带,标签],300)
INSERT INTO T1 (NO,NAME,VALUE) VALUES (4,[皮带,提单],400)
INSERT INTO T1 (NO,NAME,VALUE) VALUES (5,[提单,标签,上衣],500)
INSERT INTO T1 (NO,NAME,VALUE) VALUES (6,[小册子],600)

CREATE CURSOR T2 (ORD N(8),NAME C(4),PRICE N(8))
INSERT INTO T2 VALUES (1,[上衣],10)
INSERT INTO T2 VALUES (2,[标签],20)
INSERT INTO T2 VALUES (3,[皮带],30)
INSERT INTO T2 VALUES (4,[],40)
INSERT INTO T2 VALUES (5,[提单],50)
SELECT T1
SCAN
   LCSTR=[]
   FOR I=1 TO ALINES(A,ALLTRIM(NAME),[])
       LCSTR=LCSTR+'"'+A(I)+'"'+IIF(I<ALINES(A,ALLTRIM(NAME),[]),[,],[])
   ENDFOR
   SELECT MIN(PRICE) FROM T2 WHERE INLIST(NAME,&LCSTR) INTO ARRAY ATEMP
   REPLACE EXP1 WITH NVL(ATEMP(1)*T1.VALUE,0)
ENDSCAN
BLANK FIELDS EXP1 FOR EXP1=0 IN T1
BROWSE

搜索更多相关主题的帖子: 标签 上衣 
2013-03-23 22:55
快速回复:类似于顺序匹配(转贴)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030153 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved