我有两个表tree_catalog
和tree_catalog_link
。
tree_catalog
具有所有目录的条目,但是在某些用例中,我将目录彼此链接。简而言之,目录可以由不同的所有者链接。因此,假设用户A有3个目录(可以位于层次结构A-->C, B
中),那么我可以为另一个用户B链接所有这些目录。它将遵循相同的层次结构。因此,目录C是目录A的子级。
现在,当我将所有目录链接到UserB时,仅目录A和目录B条目将插入数据库中。目录C应该从层次结构中自动获取。
在tree_catalog_link
中,parentId和childId是来自tree_catalog
的引用。
我需要帮助。
我需要遍历version 1
。
我已经尝试了下面两个查询,但是没有提供所需的输出。
select * from public.tree_catalog_link t1
join public.tree_catalog_link t2 on t1."parentId" = t2."childId" OR t1."parentId" = 1
where t2."accountId" = 8 ;
select * from public.tree_catalog_link tcl1
left join public.tree_catalog_link tcl2 on tcl2."childId" = tcl1."parentId"
left join public.tree_catalog tc1 on tcl2."childId" = tc1."id"
where tc1."ownerId" = 8;
通俗地说,链接是
accountId = 8,
catalog of account 8 = 9
catalog 9 is linked from catalog 2,3
catalog 2 has catalog 1 at root level
catalog 3 has catalog 6 inside it
catalog 7 has catalog 7 inside it.
在这里,我正在寻找accountId = 8
的所有目录。预期的输出是目录9、2、3、1、6、7。
第一张图片为tree_catalog,第二张图片为tree_catalog_link