当Where子句中的术语不在数据库中时,如何从MySQL数据库返回0?

Lax*_*idi 5 mysql null select

如果WHERE子句中的邻域不存在,如何让我的mysql数据库返回0?因此,在下面的示例中,Old Town不在数据库中.我希望数据库返回0个事件而不是空结果.

SELECT incidents, 
       neighborhoods 
 FROM `myTable` 
WHERE neighborhoods ='Old Town'
Run Code Online (Sandbox Code Playgroud)

我也试过了

SELECT IFNULL(incidents,0), 
       IFNULL(neighborhoods,0) 
  FROM `myTable` 
 WHERE neighborhoods ='Old Town'
Run Code Online (Sandbox Code Playgroud)

任何建议都会非常感激.

OMG*_*ies 1

我对你的问题的看法是构建一个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
Run Code Online (Sandbox Code Playgroud)