gpt4 book ai didi

sql - 查找不包含任何 NULL 值的组

转载 作者:行者123 更新时间:2023-12-03 02:52:22 24 4
gpt4 key购买 nike

我有一个名为 dbo.ObjectOwner 的多对多表,其中包含以下列:

ObjectId |  OwnerId | StartDate |EndDate

其中ObjectId、OwnerId不是主键,Startdate和Enddate是指Owner拥有Object的日期。

我尝试执行的查询应返回全部ObjectId 对于每个 ObjectId,它没有 EndDate 为空的关联记录。即,返回当前没有所有者的所有对象。

所以类似

foreach(objectId in dbo.ObjectOwner)
if (
doesnotexist (records where ObjectId = objectid and EndDate is null)
)
{
add this objectid to the select table
}

我查看了 group by 和having,但以下脚本返回所有记录

SELECT oo.ObjectId
FROM dbo.ObjectOwner oo
GROUP BY oo.ObjectId
HAVING NOT EXISTS (
SELECT 1
FROM dbo.ObjectOwner
WHERE dbo.ObjectOwner.EndDate = null
)

提前致谢

最佳答案

您可以使用GROUP BYHAVING。以下内容有效,因为 NULL 值未经过 COUNT 编辑:

SELECT ObjectId
FROM ObjectOwner
GROUP BY ObjectId
HAVING COUNT(*) = COUNT(EndDate)

关于sql - 查找不包含任何 NULL 值的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55143768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com