직원 시간 기록에 대한 보고서를 작성하려고합니다.
이 질문에 특별히 두 개의 테이블이 있습니다. 직원은 Members테이블에 나열되며 매일 수행 한 작업 시간 항목을 입력하고 Time_Entry테이블에 저장됩니다 .
SQL Fiddle을 사용한 설정 예 : http://sqlfiddle.com/#!3/e3806/7
내가 갈거야 최종 결과는 쇼 테이블입니다 ALLMembers 열 목록에서 다음이 다른 컬럼에 조회 날짜에 대한 자신의 합계 시간을 표시합니다.
문제 Time_Entry는 특정 멤버 의 테이블에 행이없는 경우 해당 멤버에 대한 행이있는 것 같습니다. 여러 가지 조인 유형 (Left, Right, Inner, Outer, Full Outer 등)을 시도했지만 원하는 것을 제공하지 않는 것 같습니다 (SQL Fiddle의 마지막 예를 기반으로 함).
/*** Desired End Result ***/
Member_ID | COUNTTime_Entry | TIMEENTRYDATE | SUMHOURS_ACTUAL | SUMHOURS_BILL
ADavis | 0 | 11-10-2013 | 0 | 0
BTronton | 0 | 11-10-2013 | 0 | 0
CJones | 0 | 11-10-2013 | 0 | 0
DSmith | 0 | 11-10-2013 | 0 | 0
EGirsch | 1 | 11-10-2013 | 0.92 | 1
FRowden | 0 | 11-10-2013 | 0 | 0
11-1의 특정 날짜를 쿼리 할 때 현재 얻고있는 것 :
Member_ID | COUNTTime_Entry | TIMEENTRYDATE | SUMHOURS_ACTUAL | SUMHOURS_BILL
EGirsch | 1 | 11-10-2013 | 0.92 | 1
EGirsch에 대해 날짜가 2013 년 11 월 10 일자 인 1 개의 시간 항목 행을 기준으로 올바른 것이지만이 정보에 대한 보고서와 웹 대시 보드 / 보고서를 얻으려면 다른 구성원에 대해 0이 필요합니다.
이것은 나의 첫 번째 질문이며, Join 쿼리 등을 검색하는 동안이 함수가 무엇을 호출하는지 잘 모르겠습니다. 이것은 중복되지 않으며 다른 사람들도 해결책을 찾는 것을 도울 수 있기를 바랍니다. 비슷한 문제.

WHERE과AND. 나는 원래 별명을 사용했지만 sqlfiddle은 그것을 좋아하지 않는 것처럼 보이므로 전체 형식으로 갔다. 다른 SQL 팁도 감사합니다. 당신은 권하고 싶습니다ISNULL또는COALESCE데이터를 만들기 위해 공을 대신NULL? 다시 감사합니다!