Sql 根据分组,如果相似数据组中的一个值为null,则更改该值

Sql 根据分组,如果相似数据组中的一个值为null,则更改该值,sql,Sql,问题:有两列。第1列(任务)和第2列(用户)。第1列可能有一些类似的数据(任务),第2列根据用户是否分配给该任务而有true和false 我想要的是,在第1列中,相同的任务需要首先分组,并检查用户是否被分配到所有这些相同的任务,如果其中一个任务来自相同的任务,那么它应该返回false 示例:表 值| PrimaryOwnerId _______________________________________________________________________ EVP-RP&P |零

问题:有两列。第1列(任务)和第2列(用户)。第1列可能有一些类似的数据(任务),第2列根据用户是否分配给该任务而有true和false

我想要的是,在第1列中,相同的任务需要首先分组,并检查用户是否被分配到所有这些相同的任务,如果其中一个任务来自相同的任务,那么它应该返回false

示例:表
值| PrimaryOwnerId
_______________________________________________________________________
EVP-RP&P |零
执行协调器|空
执行协调员| 2
检查导线|零
仪器、电气和分析仪|零
物流| 1
物流| 1
操作|空
规划| 4
输出表应如下所示:
值| PrimaryOwnerId
_______________________________________________________________________
EVP-RP&P |错误
执行协调员|错误
检查导线|假
仪表、电气和分析仪|错误
物流|真实
操作|错误

规划| True
尽管您没有提到数据库名称,但以下逻辑将适用于大多数数据库-

SELECT Value,
CASE 
    WHEN SUM(CASE WHEN  PrimaryOwnerId IS NULL THEN 1 ELSE 0 END) > 0 THEN 'False' 
    ELSE 'True' 
END
FROM your_table
GROUP BY Value

根据您的逻辑,规划应该为“True”,因为没有为该值分配null,但在示例输出数据中显示为“False”

。我删除了不一致的数据库标记。请只标记您真正使用的数据库。谢谢,下次我会确保。