Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-如果没有,则返回空值_Mysql_Sql_Database - Fatal编程技术网

MySQL-如果没有,则返回空值

MySQL-如果没有,则返回空值,mysql,sql,database,Mysql,Sql,Database,我在MySQL(只读权限数据库)中有以下模式 如您所见,只有5个国家/地区代码: GB, USA, GR, ES, DE 某些月份某些记录可能不包含其中一个国家/地区,因为该月份没有为此国家/地区创建任何记录 正如您在sqlfiddle中看到的,GB记录仅在9月份创建 如果一个国家在该月没有任何记录,有没有办法显示0或NULL或其他什么,而不是不返回 到目前为止,我已经尝试了ISNULL、IFNULL和COALESCE的不同变体,但都不起作用 我想返回如下内容 UK 0 USA 13 GR

我在MySQL(只读权限数据库)中有以下模式

如您所见,只有5个国家/地区代码:

GB, USA, GR, ES, DE
某些月份某些记录可能不包含其中一个国家/地区,因为该月份没有为此国家/地区创建任何记录

正如您在sqlfiddle中看到的,
GB
记录仅在9月份创建

如果一个国家在该月没有任何记录,有没有办法显示0或NULL或其他什么,而不是不返回

到目前为止,我已经尝试了
ISNULL
IFNULL
COALESCE
的不同变体,但都不起作用

我想返回如下内容

UK 0
USA 13
GR 5
ES 12
DE 1

有什么想法吗

您的小提琴链接未加载

但我想我的两个不同观点

  • 创建函数并使用if条件对其进行管理。 或
  • 在月份、国家和映射表之间创建视图,并将月份放在左侧联接中

  • 希望它能起作用。

    好的,我将做一些假设来代替函数式SQLFIDLE。国家代码与分组数据位于同一个表中

    如果是这样,为什么不使用:

    select DT1.CountryCode, count(DT2.ValueForCounting) as ReturnedCount
    from (
    select distinct CountryCode
    from DataTable ) DT1
    left join DataTable DT2
    on DT1.CountryCode = DT2.CountryCode
    and DT2.QueryConditions = 'Stuff'    -- Use the join condition instead of a where clause for anything to do with DT2
    

    Fiddle未加载…如果($count==“”| |$count==0){echo”“;}您可能希望
    选择。。。来自国家/地区的代码在…上留下连接记录。。。其中…
    ,甚至包括记录为0的国家/地区。只是猜测,因为您的SQL FIDLE不会加载:-(例如,请参见Fiddle现在应该加载。我尝试了它,但如果我添加where子句来限制前一个月的结果,它仍然显示得较少。)countries@Sonamor您不使用
    ,其中
    通过此方法,您可以将其应用于连接条件我不知道您可以在连接语句中添加条件