下午,
下面是我创建的关系模式,以帮助回答我的问题。
JOBS (**jobClass**, Description, chargePerHour)
EMPLOYEES (**empNo**, *jobClass*, firstName, lastName)
外键 jobClass 引用 JOBS
PROJECTS (**projectNo**, projectName)
PROJECTS2EMPLOYEES (**projEmpKey**, *projectNo*, *empNo*, hoursBilled, projectLeader)
外键 projectNo 引用项目
外键 empNo 引用员工
Bold = PK (Primary Key)
Italic = FK (Foreign Key)
我正在尝试从Projects表中选择projectName,并从Employees表中为每个项目选择项目负责人的全名。
项目负责人在projects2employees表的projectLeader字段中区别为1。
我的最后一次尝试是
SELECT projectName, CONCAT_WS(" ", firstName, lastName) FROM Projects, Employees WHERE projectNo IN
(SELECT projectNo from projects2employees WHERE projectLeader = 1)
但它并没有很好地运作。
任何帮助将不胜感激
答案 0 :(得分:1)
试试这个:
SELECT p.projectName, CONCAT(firstName, ' ', lastName)
FROM Projects p
JOIN projects2employees pe
ON (p.projectNo = pe.projectNo and pe.projectLeader = 1)
JOIN employees e
ON (pe.empno= e.empno)