Table_A:  userid  username
           1001    Gates
           1002    John
           1003    James
Table_B:   SqID    ShID(申请,和审核)
           1001     1002(1001向1002提出申请,请1002审核)
           1002     1003
Dbgrid中我要显示的不是每个人的userid,而需要显示她的名字
Table_B:   SqID    ShID(申请,和审核)
           Gates    John(1001向1002提出申请,请1002审核)
           John     James
这样用sql语句如何处理???,最好不要用DBGrid1DrawDataCell!!

解决方案 »

  1.   

    select b.username as SqID,c.username as ShID
    from Table_B a 
    left join Table_A b on a.SqID=b.userid
    left join Table_A c on a.ShID=c.userid
      

  2.   

    select (select username from Table_A where userid = B.SqID) as SqID,
           (select username from Table_A where userid = B.ShID) as ShID
      from Table_B B
      

  3.   

    select b.username as SqID,c.username as ShID 
    from Table_B a,Table_A b,Table_A c 
    where a.SqID=b.userid and a.ShID=c.userid
      

  4.   

    楼上这一段是为了不支持join的数据库使用的。