mysql:
两个表: 第一个表是信息表
第二个是上一个表自己对自己引用的关系表pid 父id
cid 子id 其实也就是画了一颗树 我用
SELECT b.pid FROM orgRelation a , orgRelation b
WHERE a.cid = b.pid AND a.pid = '1' OR a.cid='1' 查询出来的 是全部,把所有跟他有关的节点都给查出来了 可现在不是我想要的: 我现在想写两条 SQL 语句:第一条:只查询 某个节点的所有父节点
第二: 所有的子节点PS: 数据库是 MySQL , 请不要把 Oracle 的 start with...connect by prior 搬出来说事
谢谢!分不多了.实在是抱歉...
两个表: 第一个表是信息表
第二个是上一个表自己对自己引用的关系表pid 父id
cid 子id 其实也就是画了一颗树 我用
SELECT b.pid FROM orgRelation a , orgRelation b
WHERE a.cid = b.pid AND a.pid = '1' OR a.cid='1' 查询出来的 是全部,把所有跟他有关的节点都给查出来了 可现在不是我想要的: 我现在想写两条 SQL 语句:第一条:只查询 某个节点的所有父节点
第二: 所有的子节点PS: 数据库是 MySQL , 请不要把 Oracle 的 start with...connect by prior 搬出来说事
谢谢!分不多了.实在是抱歉...
既然是一棵树 父节点只有一个
所以谈不上某个节点的所有父节点!
要不然就是网1:查询父节点select pid from orgRelation
where cid = '1';2:查询子节点select cid from orgRelation
where pid= '1';
哎...看来是我表达能力有问题
爷爷 也算是 父辈 吧 ?
to voyage_mh1987:请不要把讲这些文字游戏,我只想解决问题.谢谢!]举一个例子吧:create table temp
(
pid varchar(20), /* 父 ID */
cid varchar(20) /* 子 ID */
);insert into temp
values(1,2),(1,3),(2,4),(2,5),(5,6),(5,7),(5,8),(4,9),(6,10);现在的结构就是: 1
2
4
9 5
6
10 7
8
3如果查 7 的父节点,应该是 5, 2, 1
如果查 5 的子节点,应该是 6, 7, 8, 10