Sql 如何对照同一个表检查行列表

Sql 如何对照同一个表检查行列表,sql,Sql,我有一张这样的桌子: 我的查询是列出在20150131到20150228之间离职的员工,您可以使用: SELECT * FROM employees WHERE Month_ending BETWEEN 20150131 AND 20150228; 下次,首先看这里: SELECT T1.Emp_id FROM yourTable T1 WHERE NOT EXISTS (SELECT 1 FROM yourTable T2

我有一张这样的桌子:

我的查询是列出在20150131到20150228之间离职的员工,您可以使用:

SELECT * FROM employees
WHERE Month_ending BETWEEN 20150131 AND 20150228;
下次,首先看这里:

SELECT T1.Emp_id FROM yourTable T1
   WHERE NOT EXISTS (SELECT 1 
                    FROM yourTable T2
                   WHERE T2.Emp_id = T1.Emp_id
                     AND T2.Month_ending <> T1.Month_ending)
回答主要基于

使用查询

SELECT Emp_id 
FROM Employee_details 
WHERE [Month_ending] = '20150131'
AND [Emp_id] NOT IN(
  SELECT [Emp_id]
  FROM Employee_details
  WHERE [Month_ending] = '20150228'
)

它没有达到我的标准,我想要1005作为输出,因为他是唯一一个在20150228年离开工作的人@MezhoudPlease发布你的尝试我试过了,但我确信我的代码是完全错误的,这就是我在这里发布问题的原因@KScandrettp在SO上提出一个好问题的部分是显示错误或不起作用的代码。然后人们可以看到你已经尝试过了,这也给了他们一些开始的东西,他们可以经常修复它。这就是为什么人们否决了你的问题