假设我有如下数据:

我有一些已退休的记录和一些活跃的记录。问题是,我的一些记录既有已停用的,也有活动的行。我只想要没有活动行的记录。
因此,在这个例子中,尽管Greg有两个已退休的行。他的一个行是活动的,这将取消他的资格。另一方面,汤米只有一排,而它已经退休了。他没有活跃的争吵。
查询将只返回汤米。
发布于 2021-06-18 20:29:33
根据你的定义,员工的名字可以被定义。然后你可以使用存在。ie:
select * from myTable t1
where Status = 'RETIRED' and
not exists (
select * from myTable t2
where t1.EmployeeName = t2.employeeName and t2.Status = 'ACTIVE');发布于 2021-06-18 21:51:45
SELECT * FROM myTable
WHERE Status = 'RETIRED'
AND [Employee Name] NOT IN -- Assumes that Employee Name is a unique key
(
SELECT [Employee Name] FROM myTable
WHERE Status = 'ACTIVE'
)https://stackoverflow.com/questions/68041041
复制相似问题