不知道对不对,最好样本数据多一些,可以测试速度和正确率。
应该可以用一句 Select-SQL 语句的,但效率不一定快。
下面的试试看:
*!*
表3 : 包含,Query : 不包含:
Clear
Create Cursor 表1 (序号 I, 结果 V(5))
Insert Into 表1 Values(1, "05601")
Insert Into 表1 Values(2, "47896")
Insert Into 表1 Values(3, "81222")
Insert Into 表1 Values(4, "48068")
Insert Into 表1 Values(5, "54969")
*!*
Insert Into 表1 Values(1, "05621")
Create Cursor 表2 (序号 I, 结果 V(3))
Insert Into 表2 Values(1, "005")
Insert Into 表2 Values(2, "048")
Insert Into 表2 Values(3, "128")
Insert Into 表2 Values(4, "379")
Insert Into 表2 Values(5, "468")
Select *, 00000 As 序号2, "
" As 包含 From 表1 Readwrite Into Cursor 表3
Select 表2
Scan
Select 表3
Replace All 表3.序号2 With 表2.序号, 表3.包含 With 表2.结果 For (;
Occurs(Substr(表2.结果, 1, 1), 表3.结果) >= Occurs(Substr(表2.结果, 1, 1), 表2.结果) And ;
Occurs(Substr(表2.结果, 2, 1), 表3.结果) >= Occurs(Substr(表2.结果, 2, 1), 表2.结果) And ;
Occurs(Substr(表2.结果, 3, 1), 表3.结果) >= Occurs(Substr(表2.结果, 3, 1), 表2.结果) ) And ;
Empty(表3.包含)
Select 表2
Endscan
Select 表3
Go Top
Browse Last Nowait
Select 序号, 结果 As 不包含 From 表2 Where 结果 Not In (Select 包含 From 表3)