Найти родительский узел? - PullRequest
1 голос
/ 03 июля 2010

Есть две таблицы, одна с именами узлов, а другая с деталями соединения (дочерний, родительский), между узлами найти узел, у которого нет родителя, т.е. корневого узла. Использование SQL-запроса.

Ответы [ 2 ]

2 голосов
/ 03 июля 2010

Я бы выбрал НЕ СУЩЕСТВУЕТ, а НЕ ВНУТРИ, так как НЕ В может замедлиться.

SELECT *
    FROM nodes
    WHERE NOT EXISTS (SELECT *
                          FROM connectionTable
                          WHERE connectionTable.child_id = nodes.node_id)
2 голосов
/ 03 июля 2010

Вот способ сделать это с помощью подзапроса:

SELECT *
FROM nodes
WHERE node_id NOT IN
(SELECT child_id FROM connectionTable)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...