7.2 关联查询:两表多字段关联同时过滤
在两个关联的表中,根据多字段关联条件筛选记录后,分组汇总。
根据相互关联的分数表和学生资料表,查询一班每个学生的各科总分。
使用 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 |
… | … |