7.2 关联查询:两表多字段关联同时过滤

 

在两个关联的表中,根据多字段关联条件筛选记录后,分组汇总。
根据相互关联的分数表和学生资料表,查询一班每个学生的各科总分。

imagepng

使用 A.join() 函数的 @i 选项,删除不匹配的记录。在连接时把班级指定为常数条件(一班),从而实现内连接。

脚本:

A
1 =connect(“db”)
2 =A1.query(“select * from Score”)
3 =A1.query@x(“select * from Student”)
4 =A2.join@i(ID:“Class one”, A3:ID:Class)
5 =A4.groups(ID; sum(Score):TotalScore)

A1 连接数据库
A2 查询成绩表
A3 查询学生表
A4 使用 join 函数的 @i 选项,按 ID 和 Class 进行多字段内连接
A5 分组汇总每个学生的总分

运行结果:

ID TotalScore
1 230
2 258
3 228