描述:
多序列叉乘
语法:
join(Ai:Fi,xj,..;…)
备注:
将多个序列Ai按照关联字段/关联表达式xj和x1相等的关系进行叉乘,产生以Fi,…为字段的序表,Fi为引用字段,引用原排列Ai中的记录,xj全省略时用Ai的主键。某个xj 省略时该项条件不必匹配。
不管是多少个排列之间关联,都是和A1中的x1进行相等判断,因此是一表对多表的关系。
选项:
@f |
全连接,找不到匹配值时,则与null对应 |
@1 |
左连接(注意:这里是数字1,不是字母l) |
@m |
假定所有Ai针对xj,…有序,则用归并法计算 |
@p |
按位置连接,忽略xj参数 |
参数:
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) |
|
相关概念: