문서 보기역링크PDF로 내보내기맨 위로 이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요. # 계층 쿼리 {{tag>postgresql Hierarchical Query}} ``` WITH recursive category_hq(id, name, parent_id, children, brand_id, depth, path, cycle) as ( SELECT id, name, parent_id, children, brand_id, 1, array[id], false FROM brand_category WHERE id = 16 UNION ALL SELECT c.id, c.name, c.parent_id, c.children, c.brand_id, p.depth + 1, array_append(p.path, c.id), c.id = any(p.path) FROM brand_category c, category_hq p WHERE p.id = c.parent_id AND not cycle ) SELECT * from category_hq order by path ``` ``` article_reply_qs = ArticleReply.objects.raw(f""" WITh RECURSIVE reply_parent(id, user_id, parent_id, reply, depth, path, cycle) as ( SELECT id, user_id, parent_id, reply, 1, array[id], false FROM rank_articlereply WHERE parent_id is null AND article_id = {article_id} UNION ALL SELECT c.id, c.user_id, c.parent_id, c.reply, p.depth+1, array_append(p.path, c.id), c.id = any(p.path) FROM rank_articlereply c, reply_parent p WHERE p.id = c.parent_id AND not cycle ) SELECT * from reply_parent order by path """) ``` open/계층-쿼리.txt 마지막으로 수정됨: 2020/06/09 06:37저자 127.0.0.1