join()

阅读(766) 标签: 多序列, 叉乘,

描述:

多序列叉乘

语法:

join(Ai:Fi,xj,..;…)

备注:

将多个序列Ai按照关联字段/关联表达式xjx1相等的关系叉乘,产生以Fi,…为字段的序表,Fi为引用字段,引用原排列Ai中的记录,xj全省略时用Ai的主键。某个xj 省略时该项条件不必匹配。

不管是多少个排列之间关联,都是和A1中的x1相等判断,因此是一表对多表的关系。

选项:

@f

全连接,找不到匹配值时,则与null对应

@1

左连接(注意:这里是数字1,不是字母l

@m

假定所有Ai针对xj,…有序,则用归并法计算

@p

按位置连接,忽略xj参数

@x

Ai的字段取值都是记录时,字段值将被展开

参数:

Fi

结果序表的字段名

Ai

被连接的序列或排列

xj

连接字段/表达式

返回值:

所有字段均为引用字段的新序表

示例:

 

A

 

1

=demo.query("select top 3 EID,NAME from EMPLOYEE").keys(EID)

2

=demo.query("select top 3 EID,NAME from FAMILY").keys(EID)

3

=join(A1:Employee,EID;A2:Familymembers,EID)

常规连接,不匹配的项丢弃,每个字段值都是ref字段,指向原序表的一条记录

4

=join@f(A1:Employee,EID;A2:Familymembers,EID)

全连接,无匹配项的用null

5

=join@1(A1:Employee,EID;A2:Familymembers,EID)

左连接,以第一个序表为基准,无匹配项的用null

6

=join@m(A1:Employee,EID;A2:Familymembers,EID)

假定所有关联字段同序,用归并法计算;如果不同序则会出错

7

=join@p(A1:Employee;A2:Familymembers)

9

=join(A1:Employee;A2:Familymembers)

 

10

=join(A1:Employee1;A2:Familymembers1)

 

11

=join(A7:Employee2;A8:Familymembers2)

12

=join@x(A7:Employee2;A8:Familymembers2)

Ai的字段取值都是记录时,字段值将被展开

相关概念:

xjoin()