7.17 同序表采用归并法连接

 

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

imagepng

使用 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