我只想連接返回0而不是刪除行。目前,如果我嘗試加入兩個表和統計項目爲每個訂閱的數量,這將很好地工作:Postgres左連接正在截斷行
SELECT S.id, count(I.id) FROM "Subscription" S
LEFT JOIN "Item" I on I.id = S.item_id
WHERE S.status = 1
GROUP BY S.id
回報:
id | count(I.id)
1 4
2 3
3 2
而:
SELECT S.id, count(I.id) FROM "Subscription" S
LEFT JOIN "Item" I on I.id = S.item_id
WHERE S.status = 1
AND I.status IN (1,2,3)
GROUP BY S.id
退貨:
id | count(I.id)
1 3
我意識到這可能是Postgres應該如何工作的,但我曾經習慣使用MySQL。
我已經試過聚合函數產生期望的效果以及條件語句和右,完全和外部聯接,但似乎無法得到它的工作就是我想要的。
如果我想返回狀態爲1的所有用戶,但如果他們沒有狀態爲1,2或3的項目時顯示0項,該怎麼辦?
從this documentation它似乎像使用的代碼應該工作。
期望的結果是:
id | count(I.id)
1 3
2 0
3 0
請嘗試更好地解釋你想要的預期結果 – carexcer