我正在编写一些访问查询,我想对特定查询提供一些帮助。我还是SQL的新手。这是我的表格的简化版本:
Project Details
---------------
projectID (PK)
projectStartDate
projectEndDate
projectName
managerID (FK)
leadID (FK)
coleadID (FK)
Employee
--------
empID (PK)
empName
managerID,leadID和coleadID都对应于empID。我想检索项目详细信息表,但用身份名称替换ID。我已经成功地使用内部联接一次为一个FK执行此操作,但无法找到为所有角色实现此目的的方法。
能够将结果上的属性名称更改为managerName,leadName和coleadName也是很好的。
谢谢!
答案 0 :(得分:0)
同样的方式,你可能已经为一个ID做了这个:
SELECT pd.*
, emp_m.empName ManagerName
, emp_l.empName LeadName
, emp_c.empName ColeadName
FROM ProjectDetails pd
, Employee emp_m
, Employee emp_l
, Employee emp_c
WHERE pd.managerID = emp_m.empID(+)
AND pd.leadID = emp_l.empID(+)
AND pd.coleadID = emp_c.empID(+)
(+)
用于外部联接,因此它将选择ProjectDetails
表的所有记录,无论它是否与管理者,潜在客户或同事相匹配。