【发布时间】:2016-02-02 15:59:49
【问题描述】:
这是我当前的 SQL:
SELECT filter_id, parent_id, level_id, match
FROM t_filters
ORDER BY level_id;
显示如下:
ID PARENT RANK FILTER VALUE
10004 1 HQ
10002 1 Finance
10006 1 IT
10003 10006 2 HQ - Central
10005 10004 2 HQ - Non Core & Legacy
10001 10005 3 Non Core
我在这里的第一次尝试是按hierarchy_level_id 对记录进行排序,这基本上是排名。
请注意,父字段为空,其中记录位于层次结构的顶部。
此外,分支的长度可以是 1 到 8 个条目(8 是当前最大值,但理论上可以增加 1 或 2)。
我要展示的是以下,应该使用父字段将层次结构的各个分支整理在一起:
ID PARENT RANK FILTER VALUE
10004 1 HQ
10005 10004 2 HQ - Non Core & Legacy
10001 10005 3 Non Core
10002 1 Finance
10006 1 IT
10003 10006 2 HQ - Central
【问题讨论】:
-
为什么顶层元素
10004、10002、10006之间的顺序是? -
@LukasEder 没有理由 - 我的示例中分支的顺序是偶然的,但考虑到这一点,我会按过滤值的字母顺序排列它们。