您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

当Count(*)结果为Null时,返回1而不是0

当Count(*)结果为Null时,返回1而不是0

您正在计算错误的字段。这样做是从外部联接表ESTAGIARIO(而不是ESTAGIO)中获取字段

SELECT ESTAGIO.SK_ESTAGIO, Count(ESTAGIARIO.SK_ESTAGIO) as how_many
 from ESTAGIO
 left join ESTAGIARIO
 on ESTAGIARIO.SK_ESTAGIO = ESTAGIO.SK_ESTAGIO
 group by
    ESTAGIO.SK_ESTAGIO
@H_404_9@
 

          

解决方法

我从SQL Server获得的代码:

SELECT ESTAGIO.SK_ESTAGIO,ISNULL(count(ESTAGIO.SK_ESTAGIO),0) as how_many
 from ESTAGIO
 left join ESTAGIARIO
 on ESTAGIARIO.SK_ESTAGIO = ESTAGIO.SK_ESTAGIO
 group by
    ESTAGIO.SK_ESTAGIO

当“ ESTAGIARIO”表中不存在“ESTAGIO.SK_ESTAGIO”时,它返回1而不是0,我已经尝试使用ISNULL(),NULLIF()和COALESCE(),但仍然找不到造成该问题的方法上面的查询在应为0时返回1。

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!
SELECT ESTAGIO.SK_ESTAGIO,ISNULL(count(ESTAGIO.SK_ESTAGIO),0) as how_many
 from ESTAGIO
 left join ESTAGIARIO
 on ESTAGIARIO.SK_ESTAGIO = ESTAGIO.SK_ESTAGIO
 group by
    ESTAGIO.SK_ESTAGIO

我从SQL Server获得的代码:

当“ ESTAGIARIO”表中不存在“ESTAGIO.SK_ESTAGIO”时,它返回1而不是0,我已经尝试使用ISNULL(),NULLIF()和COALESCE(),但仍然找不到造成该问题的方法上面的查询在应为0时返回1。

其他 2022/1/1 18:52:31 有521人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶