跳到主要内容
哒哒星球DADA PLANET

实践笔记

订单金额翻倍了?先检查关联后的行数

订单金额翻倍了?先检查关联后的行数

订单总额 200;关联后直接求和是 320;明细 3 行。

这组答案来自一个小算例:订单 A=120、B=80;明细 A 有两行、B 有一行。

两张表各自都对,关联以后也可能把钱算两次。 要检查的是计算口径;把下面这段连同材料一起复制:

材料:
订单 A=120、B=80;明细 A 有两行、B 有一行。

任务:
用这个例子解释订单与明细一对多关联的重复累计。分别输出订单总额与明细行数的只读 SQL,并说明聚合发生在哪一层。

交付要求:
先给小样本的手算结果,再给只读 SQL 和表结构假设。
不能用 SUM(DISTINCT 金额)补救:两张订单可能金额相同。

换一份数据时,不能用 SUM(DISTINCT 金额)补救:两张订单可能金额相同。

以上为演示案例,可替换成自己的材料。