merge()

阅读(987) 标签: :归并计算, 合并,

本章节介绍merge()函数的用法。

A.merge()

描述:

归并计算,将多个序表/排列合并

语法:

A.merge(xi,…)

备注:

将多个序表/排列按指定字段xi有序合并,xi省略按主键合并,若xi省略且A没有主键则按照所有字段合并xi相同的成员,A(i)取完再取A(i+1)的。

参数:

A

结构相同的多个序表/排列

xi

字段名如果是按照多字段合并,字段间用逗号分隔,例如:x1,x2...

选项:

@u

A(i)的成员按顺序合并到一起组成新的序表/排列,去掉重复的成员。xi相同则认为对应的A(i)成员相同。

@i

返回A(i)共同的成员组成的序表/排列

@d

A(1)中去掉A(2) &A(n)中的成员后形成的新序表/排列

@o

不假定A(i)[xi,…]有序

@0

null排最后

@x

返回A(i)去掉共同的成员组成的序表/序列

返回值:

序表/排列

示例:

 

A

 

1

=demo.query("select EID,NAME,GENDER,SALARY from EMPLOYEE where EID<6")

EID有序

2

=demo.query("select EID,NAME,GENDER,SALARY from EMPLOYEE where EID>3")

EID有序

3

=[A1,A2].merge(EID)

A1A2按照EID有序合并

4

=[A1,A2].merge@u(EID)

A1A2按照EID有序合并,并去掉重复成员

5

=[A1,A2].merge@i(EID)

A1A2按照EID有序合并,只保留重复成员

6

=[A1,A2].merge@d(EID)

去除A1A2的成员

7

=[A1,A2].merge@o(SALARY)

8

=[A1,A2].merge@x(EID)

去掉A1A2中重复的部分,组成新的序表

9

=demo.query("select * from EMPLOYEE where GENDER = 'M'").keys(EID)

10

=demo.query("select * from EMPLOYEE where GENDER = 'F'").keys(EID)

11

=[A9,A10].merge()

没指定字段,则该序表按照主键顺序合并

12

=demo.query("select * from EMPLOYEE where GENDER = 'M' and EID <15")

 

13

=demo.query("select * from EMPLOYEE where GENDER = 'M' and EID >=15")

 

14

=[A12,A13].merge(EID,GENDER)

按照EIDGENDER两个字段合并

15

=A1.run(EID=null)

 

16

=[A2,A15].merge(EID)

17

=[A2,A15].merge@0(EID)

null排最后

相关概念:

CS.mergex()