我有这样的表设置:
Parent ------ id,... Child ----- id,parent_id,x,y
如果Child中包含给定parent_id的所有行都满足涉及x和y的标准(在我的情况下为x = y),我想找到Parents或不同的parent_id(s).
例如:
Parent ------ id 1 2 3 Child id,y 1,1,2,3 2,3,4 3,5,5 4,6,7 5,8,8 6,9,9
将导致3.目前,我有一个查询,查找parent_ids,任何一个孩子符合条件.然后我使用它来检索那些记录并在代码中检查它们是否所有孩子都符合标准.使用示例数据,我获得parent_id 2和3,获取包含所有子项的两个父记录,并进行评估.如果可能的话,我想用一个查询来做这件事.
解决方法
您可以使用NOT EXISTS
SELECT id FROM Parent p WHERE NOT EXISTS ( SELECT 1 FROM Child c WHERE c.parent_Id = p.id AND c.x <> c.y )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。