C

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

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

C

描述:

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

备注:

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

示例:

 

A

 

1

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

生成序表:

2

=create(k1,k2,v2).record([1,1,"a",2,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,如果记录中没有列Cnull表示,有多记录对应时取首条记录。

参数:

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)

备注:

对附表T中多记录的列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中与当前记录主键相等的所有记录组成子序表返回。

参数:

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的记录以序表的形式返回: