我正在努力理解 php/mysql 应用程序的自定义模式可以组合在 SELECT 查询中,但我不熟悉这种关系。我是一个新手程序员,缺乏描述这种关系的能力,以便在网上找到具体信息。我正在寻找一些伪代码或技术术语来设计这个模式。
它很简单,如下所示。我还尝试了将 SQL 命令作为伪代码通知的逻辑,这就是我解码的地方,我不得不寻求帮助 (9_9)
这是一个使用两个表的分类模式。第一个表包含术语和基于权重的顺序(从最低到最高)值。第二个表指定了第一个表的父子关系。有趣的是,第一个表中的子权重就像多维数组的第二个值,父权重m索引子权重n。类似于 taxonomy_term_weight [ m ][ n ]
table_a table_b on table_a.ID
+-----+------+-----+...+-----+
| ID | TRM | WT |...| P |
+-----+------+-----+...+-----+
|1 | 3 | [9] |...| [0] |
|2 | 1.1 | [0] |...| [9] |
|3 | 2 | [8] |...| [0] |
|4 | 2.1 | [0] |...| [3] |
|5 | 2.2 | [1] |...| [3] |
|9 | 1 | [5] |...| [0] |
+-----+------+-----+...+-----+
table_a = term table,
table_b = hierarchy table
TRM= TERM, WT= WEIGHT, P=PARENT
我对伪代码的尝试。从逻辑上讲,要获得第一项,我们需要找到 P=0 的记录(意味着它没有父项,并且在这个方案中本身就是父项)并且它的权重值应该是最低的(意味着它的第一项)。类似这样的伪代码,
table_a.ID=table_b.P=0 AND table_a.WT=[lowest value] //e.g. P=0, WT=5, Therefore ID=9;
然后,生成的 ID 是查找子记录的父 ID,
table_a.ID=table_b.P AND table_a.WT[lowest value] //e.g. P=9, WT=0, Therefore ID=2;
其次是,
table_a.ID=table_b.P AND table_a.WT=[lowest value] //e.g. P=2, WT=0, Therefore ID=none;
但我想要的是同一个父母,体重增加,
P=9, WT=1, Therefore ID=none;
我理解将表格串在一起,但这似乎是曲折或振荡的。我很快意识到存在我不理解的深度复杂性。