2,749
社区成员
发帖
与我相关
我的任务
分享Close Databases All
Create Cursor 原表 (物资名称 C(10),型号 C(10),数量 I,位号 C(50))
Insert Into 原表 (物资名称,型号,数量,位号) Values ('电阻','A1',5,'q1,q2,q3,q4,q5')
Insert Into 原表 (物资名称,型号,数量,位号) Values ('电阻','A2',1,'w1')
Insert Into 原表 (物资名称,型号,数量,位号) Values ('电阻','A3',6,'e1,e2,e3,e4,e5,e6')
Browse && 原表数据'
Select * Into Table 结果表 From 原表 Where 1=0
Select 原表
Scan
lnArrayRowNum=Alines(aArray,Strtran(原表.位号,',',Chr(13)))
For lnI=1 To lnArrayRowNum
Insert Into 结果表 (物资名称,型号,数量,位号) Values (原表.物资名称,原表.型号,原表.数量,aArray(lnI))
Endfor
Endscan
Select 结果表
Browse

CREATE CURSOR 位号表 ( 位号 C(2) )
INSERT INTO 位号表 VALUES ('q1')
INSERT INTO 位号表 VALUES ('q2')
INSERT INTO 位号表 VALUES ('q3')
INSERT INTO 位号表 VALUES ('q4')
INSERT INTO 位号表 VALUES ('q5')
INSERT INTO 位号表 VALUES ('q6')
INSERT INTO 位号表 VALUES ('e1')
INSERT INTO 位号表 VALUES ('e2')
INSERT INTO 位号表 VALUES ('e3')
INSERT INTO 位号表 VALUES ('e4')
INSERT INTO 位号表 VALUES ('e5')
INSERT INTO 位号表 VALUES ('e6')
INSERT INTO 位号表 VALUES ('w1')
INSERT INTO 位号表 VALUES ('w2')
CREATE CURSOR 数据表 ( 物资名称 C(10), 型号 C(10), 数量 N(2,0), 位号 C(50) )
INSERT INTO 数据表 VALUES ('电阻', 'A1', 5, 'q1,q2,q3,q4,q5')
INSERT INTO 数据表 VALUES ('电阻', 'A2', 1, 'w1')
INSERT INTO 数据表 VALUES ('电阻 ', 'A3', 6, 'e1,e2,e3,e4,e5,e6')
SELECT a.物资名称, a.型号, a.数量, b.位号 from 数据表 a, 位号表 b where find_in_set(b.位号, a.位号) > 0
FUNCTION find_in_set(v, s)
PRIVATE ALL
ALINES(a, s, ',')
RETURN ASCAN(a, v)CREATE CURSOR lsb (bh n(4))
FOR I=1 TO 10
INSERT INTO LSB VALUES (I)
ENDFOR
Create Cursor 原表 (物资名称 C(10),型号 C(10),数量 I,位号 C(50))
Insert Into 原表 (物资名称,型号,数量,位号) Values ('电阻','A1',5,'q1,q2,q3,q4,q5')
Insert Into 原表 (物资名称,型号,数量,位号) Values ('电阻','A2',1,'w1')
Insert Into 原表 (物资名称,型号,数量,位号) Values ('电阻','A3',6,'e1,e2,e3,e4,e5,e6')
*Browse && 原表数据'
SELECT 物资名称,型号,数量,WH 位号 FROM (SELECT a.*,b.bh,STREXTRACT(','+a.位号+',',',',',',b.bh)+SPACE(33) WH FROM 原表 a inner JOIN lsb b ON LEN(ALLTRIM(a.位号))>=b.bh) A WHERE NOT EMPTY(WH)