我有我的数据库3个表:MySQL - 如何为每个GROUP BY集返回多个结果?
- employee_log
- job_log
- crew_log
当创建一个新的工作,员工被分配给它,这样的条目在“crew_log”表中创建。
我想要做的是将每个员工的type = 2属性(意味着他们是一个主管)(从employee_log)中获取,然后将crew_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查询以获取该员工的所有活动作业。
必须有更好的方法来做到这一点?
请将三个表格的结构添加到您的问题中。 – nnichols 2012-04-13 00:39:57
我自己没有得到要求。可能会添加一些来自表格的示例数据(我猜'job_log'不需要),并且以表格格式显示预期结果会有所帮助。 – 2012-04-13 01:33:44