下午,
以下是我创建的帮助您回答问题的关系模式。
JOBS (**jobClass**, Description, chargePerHour)
EMPLOYEES (**empNo**, *jobClass*, firstName, lastName)
外键jobClass引用JOBS
PROJECTS (**projectNo**, projectName)
PROJECTS2EMPLOYEES (**projEmpKey**, *projectNo*, *empNo*, hoursBilled, projectLeader)
外键项目无参考项目
外键empNo引用员工
Bold = PK (Primary Key)
Italic = FK (Foreign Key)
我试图从“项目”表中选择projectName,并从“员工”表中选择每个项目的项目负责人的全名。
在project2employees表的projectLeader字段中,项目负责人以1区分。
我最后的尝试是
SELECT projectName, CONCAT_WS(" ", firstName, lastName) FROM Projects, Employees WHERE projectNo IN
(SELECT projectNo from projects2employees WHERE projectLeader = 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)
关于mysql - 使用子查询难以从多个表中选择数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40400329/