-1
我有一个要求,其中我必须标识没有对应的孩子记录的父母记录。例如,没有孩子的父母sql
父表有6个记录:A,B,C,d,E,F
儿童表1具有参考:A,B
儿童表2具有参考:C,d
因此,如何我应该形成我的查询,它会返回结果E和F.因为这两个值都不在任何子表中使用。
我有一个要求,其中我必须标识没有对应的孩子记录的父母记录。例如,没有孩子的父母sql
父表有6个记录:A,B,C,d,E,F
儿童表1具有参考:A,B
儿童表2具有参考:C,d
因此,如何我应该形成我的查询,它会返回结果E和F.因为这两个值都不在任何子表中使用。
这缺乏一个强制性示例的一些信息,但我认为你有childTable1和childTable2中的parentID,并在parentTable中的id。
这应该工作:
SELECT *
FROM parentTable p
WHERE NOT EXISTS(
SELECT 1
FROM childTable1 c1
WHERE c1.parentId = p.id)
AND NOT EXISTS(
SELECT 1
FROM childTable2 c1
WHERE c1.parentId = p.id)
感谢菲利普。它工作 – Sahil
如果你想验证多个列,你可以添加另一个验证到WHERE子句:'OR c1.anotherCol = p.id' –