现在有如下的表:tb_item
ItemID    userID  targetID other
1          1        2       aaab
2          2        1      bbc
3          null    null    kkkk表tb_userUserID     Name
1          SSS
2          MMM需要通过SQL语句显示如下内容:
ItemID    userName  targetName other
1          SSS       MMM       aaab
2          MMM        SSS      bbc
3          null    null    kkkk
应当如何做?我主要是不懂第三记录当外键为空时如何解决?

解决方案 »

  1.   

    select a.ItemID,b.Name as userName,c.Name as targetName,a.other
    from tb_item as left join tb_user as b on a.UserID=b.UserID
                    left join tb_user as c on a.UserID=c.UserID
      

  2.   

    declare @a table(ItemID int, userID int, targetID int, other varchar(10))
    insert @a select 
    1, 1, 2, 'aaab'
    union all select 2, 2, 1, 'bbc'
    union all select 3, null, null, 'kkkk'declare @b table(UserID int, Name varchar(10))
    insert @b select 1 ,'SSS'
    union all select 2 ,'MMM'
    select itemid,b.name username,c.name targetname,other from @a a left join @b b on a.userid=b.userid left join @b c on a.targetid=c.userid
      

  3.   


    select a.itemid,b.name,c.name,a.other from tb_item as a
    left join
    tb_user as b
    on a.userid = b.userid
    left join
    tb_user as c
    on a.targetid = c.userid
      

  4.   

    顶 chyliu(随意行走) 的语句