有表:AAid    name    pid
1     管理       0
2     添加       1
3     删除       1现在需要列出 所有记录 并同时列出他的父级名称?请问如何实现?
最后列表效果形同:
id    name      pid
1     管理       根目录
2     添加       管理
3     删除       管理

解决方案 »

  1.   

    select distinct a.id,a.name,a.pid from AA as a, AA as b where a.pid=b.id;
      

  2.   

    最后怎么获取值啊,都用rs.getString("name")吗?
      

  3.   

    你可以用rs.getString(1);这种方式,
    你也可以这样写sql语句,用rs.getString("name")
    select distinct a.id as id,a.name as name,a.pid as pid from AA as a, AA as b where a.pid=b.id;
      

  4.   

    问题是这样的,我需要得到 id 所在的name值 同时还要得到 pid 所在的name值关键问题在这。。
    我用了一个分页程序如果每获取一次pid然后再到库中查询 很耗内存...所以想知道怎么解决这个问题?
      

  5.   

    select   distinct   a.id   as   id,a.name   as   name,a.pid   as   pid  ,b.name as pname from   AA   as   a,   AA   as   b   where   a.pid=b.id;rs.getString("pname");
      

  6.   

    有两个表:
    AA 
    id     name    author
    1     文本       1
    2     数据       1
    3     代码       0
    4     HTML     2BB
    id      name
    1       san
    2       wang
    3       niu
    请问如何列出这种效果,数据库是MYSQL1     文本       san
    2     数据       san
    3     代码       未知
    4     HTML     wang请问这种效果如何实现
      

  7.   

    select       distinct       a.id       as       id,a.name       as       name,a.author       as       author     ,b.name   as   bname   from       AA       as       a,       BB       as       b       where       a.author=b.id;
      

  8.   

    select               distinct               a.id               as               id,a.name               as               name,a.author               as               author           ,b.name       as       bname       from               AA               as               a left join               BB               as               b               where               a.author=b.id;====================
    这回你试试,好久不做,外联忘的差不多了
      

  9.   

    select aa.id, aa.name, (select bb.name  from BB as bb where aa.author=bb.id)  from AA as aa; 
      

  10.   

    这个是最付合你的
    select aa.id, aa.name,ifnull((select bb.name from BB as bb where aa.author=bb.id),'未知') from AA as aa;