我有一个名为“containers
”的表,其中包含指定层次结构的parent_id子句。
TABLE containers {
id
parent_id
name
}
由于没有设置外键,我试图找到已删除的父容器而不更新子项,告诉他们将parent_id设置为NULL
。
SELECT * FROM container c
RIGHT JOIN container c2 ON c2.parent_id = c.id
WHERE c.id IS NULL AND c2.parent_id IS NOT NULL
什么是正确的查询?
答案 0 :(得分:2)
你可能想要做这样的事情(假设id是PK或NOT NULL):
SELECT
parents.id
FROM
container children
LEFT JOIN
container parents ON (parents.id = children.parent_id)
WHERE
parents.id IS NULL;