不确定我是否正确地表达了标题,但它就在这里。我有这两张表:
表:员工
id Name groupId Status
1 John Smith 1 1
2 John Doe 1 1
3 Jane Smith 2 1
4 Jerry Smith 1 1
表:作业队列
id job_id staff_id jobStatus
1 1 1 1
2 2 1 1
3 5 2 1
4 7 3 0
现在,我需要做的是找到分配给他的工作量最少的员工,我可以通过查询作业队列表来做到这一点。
SELECT min(cstaff),tmp.staff_id FROM (SELECT t.staff_id, count(staff_id) cstaff from jobqueue t join staff s on t.staff_id=s.id join group g on s.groupId=g.id where g.id=26 GROUP BY t.id ) tmp
这工作正常,但问题是如果员工根本没有分配到任何工作,这个查询不会得到他们,因为它只查询工作队列表,该特定员工不会有任何条目。我需要修改查询以包含员工表,如果工作队列中没有为员工分配任何工作,那么我需要从员工表中获取员工详细信息。基本上,我需要为一个没有分配任何工作的团队寻找员工,如果所有员工都被分配了工作,那么找到分配工作最少的员工。可以使用一些帮助。另外,标记为 Yii,因为我想知道这是否适用于 Yii 活动记录。但是我可以接受一个可以与 Yii sql 命令一起使用的普通 sql 查询。