我在工作中遇到了一些奇怪的情况。我需要确定表中引用其父级的所有项目以及具有特定值的项目。例如
id | parentID | fieldValue
---------------------------
123 null null
124 123 2
125 123 2
126 null null
127 126 2
128 126 1
鉴于上面的示例,如果我的子选择要搜索 fieldValue 为“2”的所有子项,我只希望返回 ID 123,因为 126 有一个值为 1 的子项。
目标是:
HasParentID 不为空,如果所有其他子项的字段值 = 2,则返回parentID。
最佳答案
您可以按parentID分组
并在having
子句中设置条件:
select parentID
from tablename
group by parentID
having count(distinct fieldValue) = 1 and max(fieldValue) = '2'
关于sql - 如果引用父 ID 的所有子项都已选择值,则返回父 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61182658/