2017-12-21 21 views
0

私は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を交換する必要があることだった、とparent_id:黙認のために私はそれがここで提案するコマンドを再現します親IDを含むだから、私はすべての事例についてそれをしました。しかし、このコマンドを実行しようとすると、「非常に曖昧な構文エラーが発生しています」)。

この原因としてはどのようなものが考えられますか?

答えて

0

これは、私のSQLクライアントであるDBeaverに問題があることが判明しました。 psqlでこのコマンドを実行すると、期待どおりに動作しました。

関連する問題