我根本不熟悉SQL,所以希望有人可以帮我查询一个查询,该查询将查找父表中没有子表中记录的所有记录.
以下工作为我找到特定子字段值的父记录...
`SELECT ParentTable.ParentID
FROM ParentTable INNER JOIN
ParentTable ON ParentTable.ParentID = ChildTable.ChildID
WHERE (ChildTable.ChildField_ = '2131')
Group By
ParentTable.ParentID
Having
count(distinct ChildTable.ChildField) > 0`
Run Code Online (Sandbox Code Playgroud)
我可以更改where子句,了解如何查找具有零子记录计数的父项.
谢谢.
Phi*_*hil 74
你可以使用一个NOT EXISTS条款
SELECT ParentTable.ParentID
FROM ParentTable
WHERE NOT EXISTS (
SELECT 1 FROM ChildTable
WHERE ChildTable.ParentID = ParentTable.ParentID
)
Run Code Online (Sandbox Code Playgroud)
还有旧的左连接并检查空方法
SELECT ParentTable.ParentID
FROM ParentTable
LEFT JOIN ChildTable
ON ParentTable.ParentID = ChildTable.ParentID
WHERE ChildTable.ChildID IS NULL
Run Code Online (Sandbox Code Playgroud)
尝试两者,看看哪一个更适合你.