|
Node1-1
N12
ROOT
Node1-2
N13
ROOT
Node1-3
N21
N11
Node2-1
N22
N11
Node2-2
N23
N12
Node2-3
N24
N13
Node2-4
N31
N21
Node3-1
N32
N21
Node3-2
N33
N21
Node3-3
N34
N22
Node3-4
归纳法第一步,当然是构造初值,查询子树的根节点就是标准的SQL,SELECT ID, DATA FORM TreeView WHERE ID = …,在这里有一个细节,查找表中所有的根节点(细心的读者可能早就发现,我们设计的这个TreeView可以存储任意多个树)可以通过SELECT R.ID, R.DATA FORM TreeView R WHERE R.ID = R.PID来实现。简单起见,我们就从这里起步吧。
第二步,选择出前两层也不难,
SELECT R.ID, N1.ID, N1.DATA
FROM TreeView R
LEFT JOIN TreeView N1
ON R.ID = N1.PID
AND R.ID <> N1.ID
WHERE R.ID = R.PID
我们要注意的是加蓝的部分,这是增加一层后做改动的部分。
很容易,我们得到前三层,
SELECT R.ID, N1.ID, N2.ID, N2.DATA
FROM TreeView R
LEFT JOIN TreeView N1
ON R.ID = N1.PID
AND R.ID <> N1.ID
上一页 [1] [2] [3] [4] 下一页 |