[英]How to return a value like '0' when using count case and the column is null?
我正在將此作為更大查詢的一部分
LEFT JOIN ( SELECT value, COUNT(CASE WHEN value = '1' THEN '1' END) AS sum )
問題在於,由於這是左聯接,因此並非所有結果都存在該值。 我希望當值不存在時返回“ 0”。 我試過使用這樣的東西:
LEFT JOIN ( SELECT value, COUNT(CASE WHEN value = '1' THEN '1' ELSE '0' END) AS sum )
但這仍然只是返回null。 如果該值為null或當該結果的值在數據庫中不存在時,如何返回“ 0”? 如果值不為“ 1”,為什么我不能使用ELSE
返回“ 0”,這是因為該值與“ 1”沒有區別,但是它根本不存在?
謝謝。
您無法在LEFT JOIN
執行此操作,因為不存在任何行-因此該值默認為NULL
。
而是在引用值時使用COALESCE()
:
select coalesce(sum, 0)
. . .
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.