CS.mergex()

阅读(384) 标签: 对应序列, 归并计算,

描述:

针对游标序列成员做归并运算。

语法:

CS.mergex(xi,…)

备注:

CS是对[xi,…]有序的游标的序列,针对其成员输出的对应序列按照xi做有序归并运算。游标中序列的成员必须同构。支持多路游标, 若成员是多路游标,则必须相同路数且同步分段。

选项:

@u

并集运算,CS游标序列的成员按顺序合并到一起组成新的游标,去掉重复的成员。缺省包含所有重复成员。

@i

交集运算,返回CS游标序列中共同的成员组成的游标

@d

差集运算,从游标CS1中去掉游标CS2&CSn中的成员后形成的新游标

@0

null排最后

参数:

CS

游标组成的序列

xi

表达式如果是按照多字段归并,字段间用逗号分隔,例如:x1,x2...

返回值:

游标

示例:

 

A

B

C

 

1

=demo.cursor("select * from STOCKRECORDS")

返回取数游标

2

for

 

3

 

=A1.fetch(500)

游标中取数

4

 

if B3==null

break

 

5

 

else

 

 

6

 

 

=B3.sort(STOCKID)

STOCKID排序

7

 

 

=file("D:\\"+"a"+string(A2)+".txt").export@t(C6)

每次取的数据存到文件中

8

 

 

=B1=B1|file("D:\\"+"a"+string(A2)+".txt")

文件对象序列

9

for B1

 

 

 

10

 

=A9.cursor@t()

 

 

11

 

=C1=C1|B10

 

文件游标序列

12

=C1.mergex(STOCKID)

 

 

对序列成员按照成员中的STOCKID有序归并

13

=A12.fetch()

 

 

获取合并后的记录

14

=directory@p("D://*.txt")

 

 

txt文件内容如下:

15

for A14

 

 

 

16

 

=file(A15).cursor@t()

=B14=B14|B16

 

17

=B14.mergex@i(STOCKID)

=A17.fetch()

 

返回共同成员组成的游标STOCKID有序

18

=directory@p("D://*.txt")

 

 

txt内容同上

19

for A18

 

 

 

20

 

=file(A19).cursor@t()

=B18=B18|B20

 

21

=B18.mergex@u(STOCKID)

=A21.fetch()

 

返回去掉重复的成员后的新游标,STOCKID有序

22

=directory@p("D://*.txt")

 

 

txt内容同上

23

for A22

 

 

 

24

 

=file(A23).cursor@t()

=B22=B22|B24

 

25

=B22.mergex@d(STOCKID)

=A25.fetch()

 

从第一个游标中去掉其他游标的成员后形成的新游标,STOCKID有序

相关概念:

A.merge()