我的数据库中有 3 个表:
员工日志
工作日志
船员日志
创建新工作时,会为其分配一名员工,因此会在“crew_log”表中创建一个条目。
我想要做的是获取每个具有 type=2 属性(意味着他们是主管)(来自employee_log)的员工,然后将其加入到查询中。
每个员工在“crew_log”中可以有多个活动工作,因此目标是在数组中返回该员工的所有活动工作。
到目前为止,我的查询如下所示:
SELECT el.id, cl.job_id
FROM employee_log AS el
JOIN crew_log AS cl
ON el.id=cl.employee_id
AND cl.start_date >= CURDATE()
WHERE el.type=2
GROUP BY cl.employee_id
这当然是不正确的,但也许它有助于形象化我的问题。
我当然可以用另一种方式做到这一点......但我试图做的一切都是一个 SQL 查询,既能提高性能,又能学习一些关于 SQL 的新知识。
另一种方法是让我使用两个 while 循环。第一个循环将获取 type=2 的每个员工,然后在该循环中我将执行另一个 SQL 查询来获取该员工的所有活动作业。
必须有更好的方法吗?