2012-11-14 73 views
0

我有兩個表staffdetails和工作日誌與員工的開始時間和結束時間。我要尋找的是列出了一些工作人員執行該SQL時,請參考下面的例子,他們都沒有開始工作,其結果是:列出來自兩個表的數據

staffdetails表

stafid staffname 
100200 John 
100201 Jenny 
100203 Camas 

工作日誌表

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 

輸出

staffid stafname 
100203 Camas 
100201 Jenny 
+0

您正在使用的是什麼RDBMS,MS SQL Server,Oracle,MySQL?你有什麼嘗試?發佈一些工作查詢,如果結果不正確並不重要,是一個起點,也許你離解決方案不遠。您可以使用[SQL提琴在線工具](http://sqlfiddle.com/#!3)提供所有這些信息。 – Yaroslav

+0

哪一欄告訴你一個人是否已經開始工作?你使用開始時間來檢查?如果是&開始時間列默認爲空,那麼你可以檢查開始時間是否爲空,那麼他們還沒有開始他們的工作。 –

+0

在我看來,你需要知道什麼日期的開始時間和結束時間 - 除非你可以提供更多的信息,當時間充滿。卡瑪斯和珍妮是什麼讓我們認爲他們還沒有開始呢?從你的例子中不清楚。 –

回答

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

相關問題