사용자를 기준으로 행당 합계를 얻는 방법에 대한 도움을 원하십니까? 저는 직원의 근무 시간을 곱하여 프로젝트 비용을 얻고 직원 비율로 계산하려고합니다. 내가 3 개 테이블이 : 직원은, 시간은 프로젝트사용자를 기준으로 행당 합계를 받으십시오.
이 내 표는 직원 테이블
의 모습과 유사합니다
Employee | Hours | Project
Emp_A | 18.50 | PRJ.APP
Emp_A | 10.00 | PRJ.APP
Emp_B | 20.00 | PRJ.APP
Emp_B | 5.30 | PRJ.APP
Emp_C | 13.00 | PRJ.CAT
Emp_C | 8.00 | PRJ.CAT
: 시간의 테이블
Name | Rate |
Emp_A | 10.50 |
Emp_B | 15.00 |
Emp_C | 25.10 |
프로젝트 표 :
Prj_Name | Prj_Code |
Apple | PRJ.APP |
Catalina | PRJ.CAT |
이것은 내가 현재 가지고있는 코드, 자사의 단지 합계는 프로젝트 및 사용자에 따라 얻을 수있는 프로젝트 이름 PRJ.APP이 그것,을 선택했을 때 내가 얻을 수 있었으면 된 출력은, 예를 들면
SELECT users.employee, SUM(timesheet.hours * 10.50)
FROM Projects prj, Hours timesheet, Employee users
WHERE prj.Prj_Name = 'PRJ.APP'
해당 프로젝트에서 근무한 직원을 얻고 직원 당 비율이 다르므로 행당이를 계산합니다.
나는SELECT if(users.employee = 'Emp_A', SUM(timesheet.hours * 10.50), SUM(timesheet.hours))
FROM Projects prj, Hours timesheet, Employee users
WHERE prj.Prj_Name = 'PRJ.APP'
처럼 뭔가 일을 시도했지만 이것은 단지 Emp_A 및 Emp_B 프로젝트 PRJ.APP에 근무 예제 테이블을 기반으로 Emp_A의 합계를 얻을 것입니다.
PRJ.APP (종업원 A 및 B는 PRJ.APP 근무) 프로젝트원하는 출력 :
| Emp | Hours | Hours_Sum |
| A | 28.50 | 285 |
| B | 25.30 | 379.5 |
근무 시간 열은 시간 테이블 그리고 Hours_Sum에서 "시간"의 합인 직원의 각 요율을 곱한 시간 열의 합계입니다.
여러분이 저를 도울 수 있기를 바랍니다. 미리 감사드립니다.
명시 적'join' 구문을 사용하는 방법을 배워야합니다. 당신이 데카르트 제품을하고 있기 때문에 쿼리가 작동하지 않습니다. 간단한 규칙 :'from' 절에 쉼표를 사용하지 마십시오. –