如果WHERE子句中的邻居不存在,如何使我的mysql数据库返回0?因此,在下面的示例中,旧城区不在数据库中。我希望数据库返回0个事件,而不是一个空结果。
SELECT incidents,
neighborhoods
FROM `myTable`
WHERE neighborhoods ='Old Town'
我也试过了
SELECT IFNULL(incidents,0),
IFNULL(neighborhoods,0)
FROM `myTable`
WHERE neighborhoods ='Old Town'
任何建议将不胜感激。
最佳答案
我对您的问题的看法是构造一个希望找到的neighborhoods
值的派生表,并将LEFT JOIN
映射到实际表:
SELECT x.neighborhoods,
COALESCE(mt.incidents, 0) AS incidents
FROM (SELECT 'Old Town' AS neighborhoods
FROM DUAL
UNION ALL
SELECT 'New Town'
FROM DUAL) x
LEFT JOIN MYTABLE mt ON mt.neighborhoods = x.neighborhoods
关于mysql - 当Where子句中的术语不在数据库中时,如何从MySQL数据库返回0?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2394307/