尝试从邻接树中获取子项时,语法错误在“)”处或附近

问题描述 投票:0回答:1

我试图在PostgreSQL 9.6上关注PostgreSQL guide to get children from an adjacency tree。为了达成一致,我将重现它在此建议的命令:

WITH RECURSIVE tree AS (
  SELECT id, ARRAY[]::INTEGER[] AS ancestors
  FROM test WHERE parent_id IS NULL

  UNION ALL

  SELECT test.id, tree.ancestors || test.parent_id
  FROM test, tree
  WHERE test.parent_id = tree.id
) SELECT * FROM tree WHERE 3 = ANY(tree.ancestors);

我的理解是你只需要用你想要访问的表的名称替换test,并使用包含父id的字段的名称替换parent_id。所以我为所有实例都这样做了。但是,当我尝试运行此命令时,我得到一个超级模糊的'语法错误在或附近“)”'。

可能的原因是什么?

postgresql tree
1个回答
0
投票

这对我的SQL客户端DBeaver来说是一个问题。当我在psql中运行此命令时,它完全按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.