0
孙子我有一个名为person(ID,fname,Age,Gender,parentID)
, 谁能告诉如何显示谁没有盛大的儿童在SQL个人表?显示表的人与SQL
孙子我有一个名为person(ID,fname,Age,Gender,parentID)
, 谁能告诉如何显示谁没有盛大的儿童在SQL个人表?显示表的人与SQL
这应该做的伎俩,但如果你有很多的人有很多孩子可能会有点慢:
SELECT DISTINCT p.*
FROM person p
LEFT JOIN person c ON c.parentID = p.ID
LEFT JOIN person gc on gc.parentID = c.ID
WHERE gc.ID IS NULL
SELECT *
FROM person
WHERE
ID NOT IN (
SELECT id
FROM (
SELECT p.*,c.id as childID,g.id AS grandChildId
FROM person p
LEFT JOIN person c
ON c.parentID = p.ID
LEFT JOIN person g
ON g.parentID = c.ID
) AS person_relation
WHERE grandChildId
is NOT NULL
创建临时表可以是有益的,但对于单个查询这将工作。