我需要一个 SQL 查询来查找没有任何子记录的父记录。子记录和父记录都在同一个表上
问问题
2433 次
3 回答
1
如下表中的一个SELF JOIN
将给没有孩子的父母。
-- relations (record_id, parent_id)
SELECT parents.record_id
FROM
relations parents
LEFT JOIN relations children
ON parents.record_id = children.parent_id
WHERE
children.record_id IS NULL
于 2012-09-11T05:43:55.820 回答
0
假设:“mytable”是您的表,parent_id 是对父级 PK 的引用,顶级父级的 parent_id 为空:
SELECT * FROM mytable
WHERE id IN (SELECT parent_id FROM mytable WHERE parent_id IS NOT NULL)
于 2012-09-11T05:42:34.093 回答
0
你可以试试这个:
SELECT * FROM Nodes N
WHERE NOT EXISTS (SELECT ID FROM Nodes WHERE Nodes.ParentID = N.ID)
于 2012-09-11T05:42:48.130 回答