SQL嵌套查询和SUM()

时间:2016-09-14 00:08:51

标签: sql sqlite

目前我正在做一个家庭作业问题,我被困住了。 问题是:显示具有最早项目开始日期的员工经理。

我觉得可用的表是 的 DEPARTMENT 部门炭 经理 地点 DNO

EMPLOYEE EMP_ID 标题 bdate 性别 DNO

PROJECT 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链接到应该拉动它的项目表。但它不起作用。任何帮助将不胜感激。

1 个答案:

答案 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)
                                            )
                    );