初学者sql连接查询

Jee*_*ena 2 sql

我是sql的新手,我正在努力创建一个查询.我有一张桌子Dept_Employee

    DeptId    EmployeeId    Salary        JoinDate (DD-MM-YYYY)
    ------------------------------------------------------------
    1            77         8787           11-09-2010
    1            87         9877           12-08-2011
    1            76         9544           08-11-2010
    2            33         9999           12-05-2010
Run Code Online (Sandbox Code Playgroud)

我想用DeptId和新列boolean创建一个新表,如果同一部门的所有员工在2010年12月1日(12月1日)之前加入并且他们的薪水应该大于8000,则返回true.所以在这种情况下,结果应该是

    DeptId     NewEmployees
    ------------------------
    1            False
    2            True
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?我应该自己加入吗?或者还有其他方法吗?请任何人都可以提出建议......

Jeena.

Ben*_*oit 5

SQL CASE是你的朋友.

您可以通过以下方式执行此操作:

 SELECT DeptId, CASE WHEN MIN(Salary) > 8000 AND MAX(JoinDate) <= DATE'2010-12-01' THEN True
                ELSE FALSE
                END AS NewEmployees
   FROM Dept_Employee
  GROUP BY DeptId
Run Code Online (Sandbox Code Playgroud)

请注意,我假设你的问题是12月和01.