WITH RECURSIVE BRANCH(IDPARENTCATEGORY, IDCATEGORY, LEVEL) AS (...). В доках про это ничего не написано.
А пытаюсь я решить следующую задачу: есть таблица-"дерево" с полями id, tree_node_id и другими информационными. Нужно выбрать всех родителей по заданному id. Рабочий запрос получился таким:
WITH RECURSIVE tree_nodes_rec AS (
SELECT id, tree_node_id, name FROM tree_nodes WHERE id=29
UNION
SELECT
tn.id, tn.tree_node_id, tn.name
FROM
tree_nodes_rec AS tnr,
tree_nodes AS tn
WHERE tn.id = tnr.tree_node_id
)
SELECT * FROM tree_nodes_rec;
Я ищу способ перенести WHERE id=29 в последний селект, чтобы получить SELECT * FROM tree_nodes_rec WHERE id=29; возможно ли так сделать или я трачу время впустую?
Это не аргументы, это шапка таблицы временной
я думаю, что перенести в последний select не выйдет, т.к. WITH не может принимать параметров
Обсуждают сегодня