select a.ID,a.NAME,b.NAME as PNAME 
from table_A a left join table_A b on a.ID=b.PID 

解决方案 »

  1.   

    select id,name,pname=(select name from where id=a.pid)
    from tb a
      

  2.   

    用左连好像也不行,那个大侠在自己数据库上试一下,我在外面,没测试环境,给我一个确切的SQL,麻烦了
      

  3.   

    declare @t table(id int,name varchar(5),pid int)
    insert into @t select 1,'aa',null
    union all select 2,'bb',null
    union all select 3,'aa1',1select id,name,pname=(select name from @t where id=a.pid)
    from @t a(所影响的行数为 3 行)id          name  pname 
    ----------- ----- ----- 
    1           aa    NULL
    2           bb    NULL
    3           aa1   aa(所影响的行数为 3 行)
      

  4.   

    左联接这么用:
    select a.id,a.name,pname=b.name
    from @t a left join @t b on a.pid=b.id
      

  5.   


    select a.ID,a.NAME,b.NAME as PNAME 
    from table_A a left join table_A b on a.PID=b.ID 
      

  6.   


    刚才没有仔细看你写的关联字段。sorry.这回更正,又被楼上抢了先。
      

  7.   

    huwgao(小楼听雨)  高手,多谢!向你学习,给我个联系方式把,哥们,俺要拜师上茶
      

  8.   

    victorycyz(中海) 刚才我写错了,呵呵,忘了写 B表,给你个鼓励奖,哥们,多谢,这里的朋友真热情啊^_^