C

阅读(420) 标签: 组表, ,

本节介绍组表列名的多种用法

C

描述:

本表、主表或更上层主表的列

备注:

C为本表、主表或更上层主表的列,可以直接引用,无需再加表名作为前缀。例如,表A为表B的主表,那么在表B中引用表A中的列时,可以直接引用列名,而不需要用A.C这样的格式,注意,如果是表A中引用表B中的列,需要写成B.C的格式。

示例:

 

A

 

1

=create(k1,v1).record([1,10,2,20,3,30,4,40,10,100])

2

=create(k1,k2,v2).record([1,1,"a",3,1,"c"])

3

=file("D:/ctb.ctx")

 

4

=A3.create(#k1,v1)

创建组表基表

5

=A4.attach(table2,#k2,v2)

基表上添加附表table2

6

=A4.append(A1.cursor())

 

7

=A5.append(A2.cursor())

 

8

=A4.cursor(k1,v1,table2.v2).fetch()

在主表中引用子表table2中的列v2

9

=A5.cursor(k1,v1,v2).fetch()

在子表中引用主表中的列k1v1

T.C

描述:

从附表中取出指定列

备注:

从附表T中取出列C,如果记录中没有列C用空值,有多记录对应时取首条记录。

参数:

T

附表

C

附表的列

示例:

 

A

 

1

=create(k1,v1).record([1,10,2,20,3,30,4,40,10,100])

创建序表

2

=create(k1,k2,v2).record([1,1,"a",2,4,"c",2,8,"b"])

创建序表

3

=file("D:/ckv.ctx")

组表文件

4

=A3.create(#k1,v1)

创建组表基表

5

=A4.attach(table2,#k2,v2)

在基表上添加附表

6

=A4.append(A1.cursor())

在基表中追加数据

7

=A5.append(A2.cursor())

在附表中追加数据

8

=A4.cursor(k1,v1,table2.k2,table2.v2).fetch()

读取组表基表中的列k1v1及附表table2的列k2v2,当记录中无k2v2列时默认用空值。附表中多记录对应基表时取首条记录。

 

T.f(C)

描述:

对附表的列聚合。

语法:

  T.f(C)

备注:

对附表中多记录的列用聚合函数f进行运算。

参数:

T

附表

f

表示T的聚合函数,支持count/sum/max/min/avg/top/iterate

C

附表的列

示例:

 

A

 

1

=create(k1,v1).record([1,10,2,20,3,30,4,40,10,100])

创建序表

2

=create(k1,k2,v2).record([1,1,"a",2,4,"c",2,8,"b"])

创建序表

3

=file("D:/ckv.ctx")

组表文件

4

=A3.create(#k1,v1)

创建组表基表

5

=A4.attach(table2,#k2,v2)

在基表上添加附表

6

=A4.append(A1.cursor())

在基表中追加数据

7

=A5.append(A2.cursor())

在附表中追加数据

8

=A4.cursor(k1,table2.sum(k2):k2_sum).fetch()

对组表中附表table2的列k2分组求和,并将列名命名为k2_sum

9

=A4.cursor(table2.count(k2)).fetch()

对组表中附表table2的列k2分组计数

10

=A4.cursor(table2.max(k2)).fetch()

对组表中附表table2的列k2分组求最大值

11

=A4.cursor(table2.min(k2)).fetch()

对组表中附表table2的列k2分组求最小值

12

=A4.cursor(table2.avg(k2)).fetch()

对组表中附表table2的列k2分组求平均值

13

=A5.cursor().top(2;k2)

返回实表table2中列k2里前2个最小值对应的记录

14

=A5.cursor().derive(iterate(~~*2,10):F1).fetch()

对实表table2迭代循环

T{x:C ,… }

描述:

将附表中的记录返回成子序表。

语法:

  T{x:C,…}

描述:

将附表中和当前记录主键相等的所有记录组成子序表返回。

参数:

T

附表

x

附表的列

C

列别名,可省略

示例:

 

A

 

1

=create(k1,v1).record([1,10,2,20,3,30,4,40,10,100])

创建序表

2

=create(k1,k2,v2).record([1,1,"a",2,4,"c",2,8,"b"])

创建序表

3

=file("D:/ckv.ctx")

组表文件

4

=A3.create(#k1,v1)

创建组表基表

5

=A4.attach(table2,#k2,v2)

在基表上添加附表

6

=A4.append(A1.cursor())

在基表中追加数据

7

=A5.append(A2.cursor())

在附表中追加数据

8

=A4.cursor(k1,table2{k2,v2}:t2).fetch()

将附表table2的记录以序表的形式返回