1
這裏是我的表有:PostgreSQL的困難(對我來說)查詢
- AB元組表 它有A.id和B.id其中有條目
- d表項
- Ç表與C.id和一個布爾場「打開」
我希望計算d表中的所有條目,其中「開」 =真,其中有一個C.id具有相同A.id和B. 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.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
-might沒有必要雖然
非常好!完美工作 – user1175817
我有一個擴展問題,我想同樣的事情,但現在與結果中的另一列,即返回的計數值和c中的字段中存在的值之間的差異。我也會將此作爲另一個問題發佈 – user1175817
也如何獲得與這些行相關的表和B表中的其他字段。我想獲取字段A.name和B.status並將其添加到行 – user1175817