이 select 문은 각 행의 timeid에 대한 모든 값을 반환합니다. 조인은 올바른 고유 값으로 조인됩니다. 나는 내부 조인 / 왼쪽 외부 / 오른쪽 외부를 시도했으며 전체를 선택하여 아무 소용이 없습니다.
SELECT
timed.timeid AS [Time Number],
emp.firstname AS [First Name],
emp.surname AS [Surame],
emp.empid AS [Employee Number],
timed.ver AS [Ver],
timed.tdate AS [Date],
shifts.code AS [Code],
timed.stime AS [Start],
timed.etime AS [End],
DATEDIFF(HOUR, timed.stime, timed.etime) AS [Hours]
FROM
emp
INNER JOIN timed ON emp.divid = timed.divid
INNER JOIN shifts ON timed.shiftid = shifts.shiftid
Time Number First Name Surame Employee Number Ver Date Code Start End Hours
OPS93041 C BLOGS G100 142 30/04/2013 Nts 19:00:00 06:00:00 11
OPS93041 L SMITH I101 142 30/04/2013 Nts 19:00:00 06:00:00 11
OPS93041 M WALKER M115 142 30/04/2013 Nts 19:00:00 06:00:00 11
OPS93041 P DJANGO P965 142 30/04/2013 Nts 19:00:00 06:00:00 11
위 결과의 작은 예에서 알 수 있듯이 모든 결과에 timeid를 추가하고 emp 테이블의 값이 아닌 다른 값도 추가 할 수 있습니다.
원하는 출력은 다음과 같습니다.
Time Number First Name Surame Employee Number Ver Date Code Start End Hours
OPS93041 C BLOGS G100 142 30/04/2013 Nts 19:00:00 06:00:00 11
JDY73592 L SMITH I101 142 24/03/2013 Nts 11:00:00 17:00:00 6
QJA74057 M WALKER M115 188 08/07/2013 Nts 08:00:00 15:00:00 7
PDG03845 P DJANGO P965 125 19/01/2013 Nts 22:00:00 03:00:00 5
이는 직원별로 데이터를 그룹화하여 해결되었으므로 시간은 근무조 번호가 아닌 직원 라인과 관련이 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다