2016-09-14 158 views
0

目前我正在處理一個作業問題,並卡住了。 問題是:顯示具有最早項目開始日期的員工的經理。SQL嵌套查詢和SUM()

,我覺得是可以使用的表是 DEPARTMENT 部門焦炭 經理 位置 DNO

EMPLOYEE emp_id爲 標題 bdate 性別 DNO

項目 emp_id爲 起始日期 days_duration

我知道,答案應該是Nick_Fury和起始日期是錯誤的,但應該是1-JAN-12。我們必須使用MIN()函數,它應該是MIN(start_date)。我們不能使用JOIN,因爲我們還沒有被告知。

'SELECT manager 
FROM DEPARTMENT 
WHERE dno IN 
        (SELECT dno 
        FROM EMPLOYEE 
        WHERE emp_id IN 
              (SELECT MIN(start_date) 
              FROM project 
              ) 
        );' 

當我運行它時什麼都沒有回來。我知道MIN(start_date)似乎有問題。我對如何完成的想法如下。 查找管理員,然後找到dno,將dno鏈接到employee表,然後使用emp_id鏈接到應該將其拉出的項目表。但它不起作用。任何幫助將不勝感激。

+0

聚焦只是在項目表,你將如何得到具有最小的開始日期的行? –

回答

1

那些在2分鐘內我想通了與

SELECT manager 
FROM DEPARTMENT 
WHERE dno IN 
        (SELECT dno 
        FROM EMPLOYEE 
        WHERE emp_id IN 
              (SELECT emp_id 
              FROM project 
              WHERE start_date =(SELECT MIN(start_date) FROM PROJECT) 
              ) 
        );