使用双重身份

时间:2015-10-29 07:55:51

标签: sql join

我有一张包含creatorIDmodifierID的表格。通过使用这个id,我想用一个查询来获取人名。我怎样才能做到这一点?我的意思是如何使用一个查询执行以下操作:

selact n.name
from Names n
  inner join table1 t on n.userID=t.creatorID

selact n.name
from Names n
  inner join table1 t on n.userID=t.modifierID 

2 个答案:

答案 0 :(得分:1)

这应该不难:

SELECT
    table1.*
    ,CName.Name AS Creator
    ,MName.Name AS Modifier
FROM
    table1
    LEFT OUTER JOIN Names CName ON table1.CreatorID = CName.UserID
    LEFT OUTER JOIN Names MName ON ModifierID = MName.UserID

我已经采用了左外连接,假设CreatorID和ModifierID列可以为null。如果您正在寻找别的东西,请告诉我。

答案 1 :(得分:0)

我想你想OR目前的条件:

select n.name
from Names n
  inner join table1 t on n.userID = t.creatorID
                      OR n.userID = t.modifierID

也可以写成IN

select n.name
from Names n
  inner join table1 t on n.userID IN (t.creatorID, t.modifierID)

或许,你的意思是AND而不是?