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  搬出来说事
谢谢!分不多了.实在是抱歉...
      

解决方案 »

  1.   


    既然是一棵树 父节点只有一个 
    所以谈不上某个节点的所有父节点!
    要不然就是网1:查询父节点select  pid from  orgRelation 
     where cid = '1';2:查询子节点select  cid from  orgRelation 
     where pid= '1';
      

  2.   


    哎...看来是我表达能力有问题
    爷爷 也算是 父辈 吧 ?
    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