我正在尝试用SQL做一些事情,教给我自己,我不确定接下来要做什么。
我正在尝试将查询写入我的数据库(仅使用“员工信息”数据库),该数据库返回他们的姓名,他们已经完成的工作,但最重要的是,我希望每个工作都有一个“完成代码” “这讲述了作业是如何完成的,以及一个int,它显示了他们用特定完成代码完成了多少次工作。
现在,我可以返回所有信息,按人员,工作和代码排序,但我不知道如何获得每个单独完成代码的计数(每位员工)。这就是我所拥有的:
SELECT crew.EMPLOYEE_NAME, o.WORK_TYPE, oc.COMPLETION_CODE, COUNT(oc.COMPLETION_CODE)
FROM CREW_WORK_SCHEDULE crew, ORDERS o, ORDER_COMPLETION oc
WHERE crew.CREW_ID = o.ASSIGNED_TO_USER_ID
AND oc.ORDER_ID = o.ORDER_ID
ORDER BY (crew.EMPLOYEE_NAME, o.WORK_TYPE, oc.COMPLETION_CODE)
但是,select语句中的COUNT只返回完成代码的总数,而不是员工工作类型的每个代码的完成代码。
很抱歉,如果不是很清楚,但有人知道吗?
答案 0 :(得分:3)
按照声明分组, Group By crew.EMPLOYEE_NAME,o.WORK_TYPE,oc.COMPLETION_CODE
答案 1 :(得分:2)
SELECT crew.EMPLOYEE_NAME, o.WORK_TYPE, oc.COMPLETION_CODE, (SELECT COUNT(*) FROM ...)
然后用省略号替换你的条件。我很难写它,因为我不知道你的桌子结构。