本节介绍组表列名的多种用法
描述:
本表、主表或更上层主表的列。
备注:
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() |
在子表中引用主表中的列k1、v1:
|
描述:
从附表中取出指定列。
备注:
从附表T中取出列C,如果记录中没有列C则用null表示,有多记录对应时取首条记录。
参数:
T |
附表。 |
C |
附表的列。 |
示例:
|
A |
|
1 |
创建序表:
|
|
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() |
读取组表基表中的列k1、v1及附表table2的列k2、v2,当记录中无k2、v2列时默认用空值。附表中多记录对应基表时取首条记录。
|
描述:
对附表的列进行聚合运算。
语法:
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中与当前记录主键相等的所有记录组成子序表返回。
参数:
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的记录以序表的形式返回:
|