Sql 如果列中有多个空值可用,则计数应为零

Sql 如果列中有多个空值可用,则计数应为零,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个表,表中有一列可以有空值。 我需要编写一个查询,如果列中有多个空值,该查询将返回0 下表结构如下: ID | FNAME | LNAME | Country | ReportTo ---+-----------+----------+---------+---------- 1 | Davolio | Nancy | USA | null 2 | Fuller | Andrew | USA | null 3 | Leverli

我有一个表,表中有一列可以有空值。 我需要编写一个查询,如果列中有多个空值,该查询将返回0

下表结构如下:

ID | FNAME     | LNAME    | Country | ReportTo 
---+-----------+----------+---------+----------
1  | Davolio   | Nancy    | USA     | null 
2  | Fuller    | Andrew   | USA     | null 
3  | Leverling | Janet    | USA     | 1
4  | Peacock   | Margaret | USA     | 2 
5  | Callahan  | Laura    | USA     | 2 
如果
reports to
列中包含空值,我需要
0
作为计数。

尝试以下操作:

SELECT 
    ID, FNAME, LNAME, Country,
    CASE WHEN COUNT(CASE WHEN column1 IS NULL THEN 1 END) OVER (PARTITION BY column1) > 1 THEN 0 ELSE Reportsto END AS Reportsto
FROM
    t
或者(您可以使用下面的语句,如
,其中0=(选择…


您需要显示表结构、示例数据和预期输出。@GirishMahida下面是什么?这个计数是现有SQL的一部分吗?下面是表结构。ID FNAME LNAME Country ReportTo 1 Davolio Nancy USA null 2 Fuller Andrew USA null 3 Leverling Janet USA 1 4 Peakle Margaret USA 2 5 | Callahan | Laura USA 2如果Reports To列中包含空值,我需要0作为计数。而且我只能通过修改where来完成clause@GirishMahida请把它编辑成问题,以易于阅读的格式。@GirishMahida,您不认为这是您应该包含在问题中的内容吗?@GirishMahida在
Where
子句中,您可以只筛选结果,但您说过如果空值计数超过一,您希望返回0值!
SELECT 
    CASE WHEN COUNT(CASE WHEN column1 IS NULL THEN 1 END) > 1 THEN 0 ELSE 1 END 
FROM
    t