这是我的表:
- AB 元组表
- 具有 A.id 和 B.id 条目的 C 表
- 具有 C.id 条目和布尔字段“open”的 D 表
我想计算 D 表中 "open" = true 并且具有相同 A.id 和 B.id 的 C.id 的所有条目
我希望查询在一行中返回计数、通用 A.id 和通用 B.id
例如 D 表
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表
C.id = 2, A.id = 3, B.id = 5
C.id = 3, A.id = 3, B.id = 5
C.id = 4, A.id = 4, B.id = 6
Bc D 中的前 3 个条目具有具有相同 AID 和 BID 的 CID,它们被计入同一个条目中。因此,查询应返回以下 2 个条目:
1. count = 3 A.id = 3 B.id = 5
2. count = 1 A.id = 4 B.id = 6
我为 AB 制作了一个元组表,因为我认为它像下面的伪代码一样工作
For each entry i in tuple Table AB
for each entry j in Table C
for each entry k in Table D
if j.AID AND j.BID equal to i.AID and i.BID
And if k.CID = j.id
Then returnHash[i] = returnHash[i] + 1
- 虽然可能没有必要