所以在这个数据库中,我有两个我感兴趣的表。一个是"详细信息"表和另一个是"员工"表
在详细信息表格中,我有很多列,但我感兴趣的是:
这些列中的值是对Staff表中StaffID列的引用。 Staff表由以下列组成:
我试图做一个报告,在那里我可以显示一行的详细信息以及涉及该特定细节(行)的工作人员和经理。在此报告中,我想显示工作人员的姓名和经理的姓名。问题是,我无法让它发挥作用。它仅显示工人和经理指的是同一个人的结果。这是我的疑问:
SELECT Staff.LastName + ', ' + Staff.FirstName AS [Worker],
Staff.LastName + ', ' + Staff.FirstName AS [Manager],
Details.SiteName AS [Site Name],
Details.Description AS [Description],
Details.Action AS [Action],
FROM Details
INNER JOIN Staff
ON Details.Worker= Staff.StaffID AND Details.Manager = Staff.StaffID
所以我不太清楚该怎么做。我很困惑。帮助将非常感谢!谢谢!
答案 0 :(得分:3)
您必须两次加入Staff表:一次获取工人详细信息,第二次获取经理详细信息:
SELECT W.LastName + ', ' + W.FirstName AS [Worker],
M.LastName + ', ' + M.FirstName AS [Manager],
Details.SiteName AS [Site Name],
Details.Description AS [Description],
Details.Action AS [Action],
FROM Details
INNER JOIN Staff AS W ON Details.Worker = W.StaffID
INNER JOIN Staff AS M ON Details.Manager = M.StaffID