本章节介绍merge()函数的用法。
描述:
归并计算,将多个序表/排列进行合并
语法:
A.merge(xi,…)
备注:
归并计算A(i)|…,A(i)对[xi,…]有序,将多个序表/排列按指定字段xi有序合并,xi省略按主键合并,若xi省略且A没有主键则按照r.v()合并。A(i)必须同构。
参数:
A |
结构相同的多个序表/排列 |
xi |
字段名,如果是按照多字段合并,字段间用逗号分隔,例如:x1,x2... |
选项:
@u |
A(i)的成员按顺序合并到一起组成新的序表/排列,去掉重复的成员 |
@i |
返回A(i)共同的成员组成的序表/排列 |
@d |
从A(1)中去掉A(2) &…A(n)中的成员后形成的新序表/排列 |
@o |
不假定A(i)对[xi,…]有序 |
@0 |
null排最后 |
返回值:
序表/排列
示例:
|
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) |
将A1和A2按照EID有序合并 |
4 |
=[A1,A2].merge@u(EID) |
将A1和A2按照EID有序合并,并去掉重复成员 |
5 |
=[A1,A2].merge@i(EID) |
将A1和A2按照EID有序合并,只保留重复成员 |
6 |
=[A1,A2].merge@d(EID) |
去除A1中A2的成员 |
7 |
=[A1,A2].merge@o(SALARY) |
|
8 |
=demo.query("select * from EMPLOYEE where GENDER = 'M'").keys(EID) |
|
9 |
=demo.query("select * from EMPLOYEE where GENDER = 'F'").keys(EID) |
|
10 |
=[A8,A9].merge() |
没指定字段,则该序表按照主键顺序合并 |
11 |
=demo.query("select * from EMPLOYEE where GENDER = 'M' and EID <15") |
|
12 |
=demo.query("select * from EMPLOYEE where GENDER = 'M' and EID >=15") |
|
13 |
=[A11,A12].merge(EID,GENDER) |
按照EID和GENDER两个字段合并 |
14 |
=A1.run(EID=null) |
|
15 |
=[A2,A14].merge(EID) |
|
16 |
=[A2,A14].merge(EID) |
|