7.17 同序表采用归并法连接
两个同序表,采用归并法连接计算,将结果汇总分组。
根据相互关联的订单表和订单明细表,查询 2014 年每个客户的销售额。

使用 join() 函数的 @m 选项,进行有序归并。
脚本:
| A | |
|---|---|
| 1 | =connect(“db”) |
| 2 | =A1.query(“select * from Order where year(Date)=2014 order by ID”) |
| 3 | =A1.query@x(“select * from Detail order by ID”) |
| 4 | =join@m(A2:Order,ID;A3:Detail,ID) |
| 5 | =A4.groups(Order.CustomerID:CustomerID; sum(Detail.Amount):Amount) |
A1 连接数据库
A2 查询 2014 年的订单,并按订单 ID 排序
A3 查询订单明细表,并按订单 ID 排序
A4 使用 join@m 函数对订单表和订单明细表有序归并
A5 分组汇总每个客户的销售额
运行结果:
| CustomerID | Amount |
|---|---|
| ALFKI | 14848.0 |
| ANTON | 4041.0 |
| … | … |
