2012-11-14 2 views
0

직원의 시작 시간과 종료 시간이있는 두 개의 테이블 staffdetails 및 worklog가 있습니다.두 테이블의 데이터를 나열합니다

staffdetails 테이블

stafid staffname 
100200 John 
100201 Jenny 
100203 Camas 

Worklog 테이블

stfid startime finishtime 
100200 11.30 p.m 12.30 p.m 
100201 10.00 a.m 10.30 a.m 
100200 12.35 p.m 12.40. p.m 
100200 12.45 p.m 
100203 1.30 p.m 2.30 p.m 
300200 10.0 p.m 6.00 p.m 

출력

: 나는 예를 들어 아래를 참조 해주십시오 SQL을 실행할 때 그들이 작업을 시작하지 않는 일부 직원을 나열하는 결과를 찾고 있어요
staffid stafname 
100203 Camas 
100201 Jenny 
+0

Richms는 MS SQL Server, Oracle, MySQL을 사용하고 있습니까? 너 뭐 해봤 니? 몇 가지 작동중인 쿼리를 게시하고, 결과가 정확하지 않거나 시작점 일 수 있으며 솔루션에서 멀리 떨어져 있지 않은지 여부는 중요하지 않습니다. [SQL Fiddle online tool] (http://sqlfiddle.com/#!3)을 사용하여이 모든 정보를 제공 할 수 있습니다. – Yaroslav

+0

사람이 일을 시작했는지 여부를 알려주는 열이 있습니까? 확인하기 위해 시작 시간을 사용하고 있습니까? 예 & 시작 시간 열이 null이면 기본적으로 시작 시간이 null인지 확인한 다음 작업을 시작하지 않은 것입니다. –

+0

시작 시간과 종료 시간이 언제인지 알 필요가 있습니다. 시간이 채워지면 조금 더 많은 정보를 줄 수 있어야합니다. Camas와 Jenny가 아직 시작하지 않았다고 생각하는 이유는 무엇입니까? 그것은 당신의 모범에서 분명하지 않습니다. –

답변

0
select * 
from staffdetails sd 
where not exists 
     (
     select * 
     from worklog w 
     where sd.stafid = w.stfid 
       and starttime is not null 
       and finishtime is null 
     ) 
+0

감사합니다. – apfiru

관련 문제