我敢肯定这很容易,但我在数据库方面很差......
我在access 2003中有下表:
title | id
/root | 1
/root/x | 2
/root/x/y | 3
/root/x/y/z | 4
/root/x/a | 5
/root/x/a/b | 6
即一堆节点和id号——你可以看到/root/x是/root/x/y的父级。我想创建另一个表,其中包含所有节点的列表,以及他们父母的 id。IE:
id | parent id
1 | -
2 | 1
3 | 2
4 | 3
5 | 2
6 | 5
以下将为我提供父级的 id 和值:
select id, left(c.title, instrrev(c.title, "/")-1) as parentValue from nodeIDs
产量
id | parentNode
1 |
2 | /root
3 | /root/x
4 | /root/x/y
5 | /root/x
6 | /root/x/a
返回那些父节点的 id 而不是它们的值,即在最后一个表中返回 '1' 而不是 '/root' 需要什么额外的步骤?
非常感谢