私は次のクエリを持っています:
SELECT employee,department,count(*) AS sum FROM items
WHERE ((employee = 1 AND department = 2) OR
(employee = 3 AND department = 4) OR
(employee = 5 AND department = 6) OR
([more conditions with the same structure]))
AND available = true
GROUP BY employee, department;
「employee-department」のペアのアイテムがない場合、クエリは何も返しません。代わりにゼロを返したいのですが:
employee | department | sum
---------+------------+--------
1 | 2 | 0
3 | 4 | 12
5 | 6 | 1234
編集1
Matthew PKが同様の質問への回答で説明しているように、これは不可能のようです。私は、PostgresがWHERE句から欠落している値を何らかの方法で抽出できると誤って想定していました。
EDIT2
いくつかのスキルで可能です。:) Erwin Brandstetterに感謝します!