首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • mysql 树结构查询 [已结贴,结贴人:lijiwei0306]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 17:46:32 楼主
    id  pid(父类ID)
    1    0
    2    1
    3    1
    4    2
    5    2
    6    4
    我现在需要根据PID,查询他所有叶子节点的ID
    比如查询0,得到:123456
          2,得到:456
    这种层级关系不确定,可能有很多层。数据库结构已经不可能修改了
    这个问题郁闷了几天了,大家帮帮忙,谢谢大侠们
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 18:07:201楼 得分:10
    select p2.id  from table p1 ,table p2 where p1.id=p2.pid and p1.id=0
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 18:12:222楼 得分:0
    查询不出来啊,哥们,这个不对啊。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 09:15:403楼 得分:10
    假设你的表名是tree
    SQL code
    select distinct a.id from tree as a inner join tree as b on (a.pid = b.pid) where b.pid >=0; select distinct a.id from tree as a inner join tree as b on (a.pid = b.pid) where b.pid >=2;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 09:17:494楼 得分:10
    当然这种结构你就不要追求什么效率了。如果要效率高的,只能改表结构。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 09:51:035楼 得分:0
    不行啊,哥们,数据不准确。效率先不考虑,先实现了再说。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 09:52:076楼 得分:0
    查询出来的a.id与实际的不符
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liuyann
    • 等级:
    发表于:2008-05-11 01:05:207楼 得分:20
    通过程序或数据库的store procedure来实现了。 在mySQL中无法以一句SQL实现。
    ==== ====
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 10:00:568楼 得分:0
    恩,差不多已经搞定了,也是用store procedure 来做成的
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved