SQL查询 - 同一字段上的多个联接

时间:2012-04-10 09:19:13

标签: sql join foreign-keys

我需要协助构建此查询,我需要从同一个表中选择不同的值但不同的唯一键。

详细说明以下示例:

我有两张桌子:

  

问题(IssueID,AuthorID_FK,AssigedID_FK,......)
  用户(UserID,User_Label,...)

作者ID_FK & AssigedID_FK 与表用户相关联,我需要在同一查询结果中获取 User_Label

你能帮忙吗?

谢谢,

4 个答案:

答案 0 :(得分:0)

SELECT a.IssueID, b.User_Label, c.User_Label FROM Issues a
INNER JOIN USERS b on a.AuthorID_FK = b.UserID
INNER JOIN USERS c on a.AssignedID_FK = c.UserID

类似的东西:)这应该在MS SQL Server中运行

答案 1 :(得分:0)

嗯,这个也应该有效:)

SELECT IssueID, U.User_Label FROM Issues I
INNER JOIN Users U ON U.UserID = I.AuthorID_FK

UNION

SELECT IssueID, U.User_Label FROM Issues I
INNER JOIN Users U ON U.UserID = I.AssigedID_FK

答案 2 :(得分:0)

惯于

SELECT a.IssueID, b.UserID 
FROM Issues a 
    JOIN Users b ON (a.AuthorID_FK=b.UserID OR a.AssignedID_FK = b.UserID)

工作?

答案 3 :(得分:0)

你可能想尝试这样的事情

SELECT
    issues.IssueID,
    Authour.User_Label AS Author_Label,
    Assigned.User_Label AS Assigned_user_Label
FROM
    issues
    INNER JOIN users AS Authour ON Authour.UserID = issues.AuthorID_FK
    INNER JOIN users AS Assigned ON Assigned.UserID = issues.AssignedID_FK