Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 找出每个项目每个员工的总人工成本_Sql_Oracle - Fatal编程技术网

Sql 找出每个项目每个员工的总人工成本

Sql 找出每个项目每个员工的总人工成本,sql,oracle,Sql,Oracle,我正在学习SQL和我的代码,但在执行代码时,我缺少了原始表emp_proj中的一些信息。表信息如下所示: EMPNO | PROJNO | HOURSWORKED ------+--------+------------ 1000 | 30 | 32.5 1000 | 50 | 7.5 2002 | 10 | 40 1444 | 20 | 20 1760 | 10 | 5 1760 | 20 | 10 1740 | 50 |

我正在学习SQL和我的代码,但在执行代码时,我缺少了原始表
emp_proj
中的一些信息。表信息如下所示:

EMPNO | PROJNO | HOURSWORKED
------+--------+------------
1000  | 30     | 32.5
1000  | 50     | 7.5
2002  | 10     | 40
1444  | 20     | 20
1760  | 10     | 5
1760  | 20     | 10
1740  | 50     | 15
2060  | 40     | 12
我的问题是:

select *
from emp_proj
where hoursworked in (
  select sum(hoursworked) as "Total Hours"
  from emp_proj
  group by empno
)
order by projno;
输出:

EMPNO | PROJNO | HOURSWORKED
------+--------+------------
2002  | 10     | 40
1444  | 20     | 20
2060  | 40     | 12
1740  | 50     | 15

如果有人能告诉我如何对每个员工和项目的工作时间进行分组,我将不胜感激。如果我没有提供足够的信息,很抱歉。

我猜不出您的
where
子句的预期目的是什么,尽管我没有得到您需要它的印象。(这近似于找到只在一个项目上工作的所有员工的想法,尽管这仍然无法正常工作。)


我猜不出你的
where
子句的意图是什么,尽管我觉得你无论如何都不需要它。(这近似于找到只在一个项目上工作的所有员工的想法,尽管这仍然无法正常工作。)


请告诉我们你期望的结果。另外,请用您正在运行的数据库标记您的问题:mysql、oracle、sql server…?我希望得到与我的输出相同的结果,但缺少一些员工和项目编号。例如,empno 1000和1760以及projno 30都丢失了,这是因为它们在表中有多行,而您使用WHERE子句说,您希望小时数等于每个员工的小时数之和,这仅适用于只有一行的员工。看看@shawnt00的答案。请告诉我们您期望的结果。另外,请用您正在运行的数据库标记您的问题:mysql、oracle、sql server…?我希望得到与我的输出相同的结果,但缺少一些员工和项目编号。例如,empno 1000和1760以及projno 30都丢失了,这是因为它们在表中有多行,而您使用WHERE子句说,您希望小时数等于每个员工的小时数之和,这仅适用于只有一行的员工。看看@shawnt00的答案。
select projno, empno, sum(hoursworked)
from emp_proj
group by projno, emono
order by projno, empno;