繁体   English   中英

如何带回未找到结果集的行

[英]How to bring back rows where no result set is found

  1. 这是我的问题,我试图对不匹配的 ID 进行计数。
  2. 我的预期结果集是 replicationTime 列(例如 201701、201702...),当我进行计数时,我只有 201702 的 NULL 值,而不是 201701...有没有办法恢复所有现有的 replicationTime 值(即 201701 AND 201702)但用零或空值填充计数列? 我基本上需要带回两排,但只有一排回来,这是没有匹配的那一排
select replicationTime, count(*) as CountsForNoMatches
from table 
where ID IS NULL
Group By ReplicationTime
  1. 我试过使用 ISNULL...但它不会带回除同一行以外的任何东西。
  2. 另外,请记住这是子查询的一部分,它在整个查询中提供更大的图片,我需要所有行而不仅仅是一个行,否则我的结果集不返回任何内容。

像这样

select replicationTime, sum(case when ID is null then 1 else 0 end) as CountsForNoMatches
from table 
Group By ReplicationTime

或者

select replicationTime, max(case when ID is null then 1 else 0 end) as CountsForNoMatches
from table 
Group By ReplicationTime

如果您只想知道该 ReplicationTime 是否存在具有空 ID 的行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM