我用这个作为一个更大的查询的一部分
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”?为什么我不能用 ELSE
如果值不是“1”,则返回“0”,是因为该值与“1”没有区别,而只是不存在吗?
谢谢您。
1条答案
按热度按时间mspsb9vt1#
你不能在黑暗中这样做
LEFT JOIN
,因为不存在任何行--所以该值默认为NULL
.相反,使用
COALESCE()
引用值时: