xjoinx()

阅读(3281) 标签: 多个, 游标, 叉乘,

描述:

将多个游标对应的序表完全叉乘起来后返回多路游标。

语法:

xjoinx(csi:Fi,xi,..;…)

备注:

将游标csi 的结果集无条件叉乘起来,产生以 Fi为字段的多路游标,每个Fi 引用原游标csi 的一个成员。

叉乘过程中,过滤出csi 中满足条件xi 的成员。csi 必须为可回转的单路游标,csi 也可以是序表。

该函数属于延迟计算函数。

选项:

@1

左连接,csi中无成员可匹配时用null匹配(注意:这里是数字1)。

参数:

Fi

结果序表的字段名。

csi

用于连接的单路游标或序表。

xi

过滤表达式。

返回值:

多路游标

示例:

 

A

 

1

=demo.cursor("select EID,NAME,DEPT,GENDER from EMPLOYEE " )

返回游标,数据内容如下:

2

=demo.query("select distinct RELATION from FAMILY " )

返回序表:

3

=xjoinx(A1:Emp;A2:Family)

A1A2直接叉乘。

4

=A3.fetch()

读取A3游标中的数据:

带过滤条件xi时:

 

A

 

1

=demo.cursor("select top 10 EID,NAME,DEPT,GENDER from EMPLOYEE " )

返回游标,数据内容如下:

2

=demo.cursor("select  top 10 EID,NAME,RELATION,GENDER,AGE from FAMILY " )

返回游标,数据内容如下:

3

=xjoinx(A1:Emp;A2:Family,EID==Emp.EID)

带过滤条件的叉乘

4

=A3.fetch()

读取A3游标中的数据:

使用@1选项,左连接:

 

A

 

1

=demo.cursor("select top 10 EID,NAME,DEPT,GENDER from EMPLOYEE " )

返回游标,数据内容如下:

2

=demo.query("select  top 10 EID,NAME,RELATION,GENDER,AGE from FAMILY " )

返回序表:

3

=xjoinx@1(A1:Emp;A2:Family,EID==Emp.EID)

左连接叉乘

4

=A3.fetch()

读取A3游标中的数据:

相关概念:

xjoin()