这是我的表:
AB 元组表 C 表具有 A.id、B.id、C.units 条目 D 表具有 C.id 条目 我想计算 D 表中具有相同 A 的 C.id 的所有条目.id 和 B.id 并从具有相同 A.id 和 B.id 的所有 C.units 的总和中减去该计数作为新列“差异”
所以我希望查询在一行中返回“差异”、常见的 A.id 和常见的 B.id
如果计数为 0,它也应该返回一个条目,并且“差异”将等于 sum(C.units)
例如
D table
D.id = 1, open=true, D.CID = 2
D.id = 2, open=true, D.CID = 3
D.id = 3, open=true, D.CID = 3
D.id = 4, open=true, D.CID = 4
C table
C.id = 2, A.id = 3, B.id = 5, units =4
C.id = 3, A.id = 3, B.id = 5, units = 6
C.id = 4, A.id = 4, B.id = 6, units = 8
C.id = 5, A.id = 4, B.id = 6, units = 10
Bc D 中的前 3 个条目具有具有相同 AID 和 BID 的 CID,它们被计入同一个条目中。此外,具有相同 A.id 和 B.id 的 C 条目将其单位相加。即使 C 条目没有关联的 D 条目。因此,查询应返回以下 2 个条目:
1. difference = (6+4)-3 = 7 A.id = 3 B.id = 5
2. difference = (10+8)-1 = 17 A.id = 4 B.id = 6