Sql查询查找值为2的行取决于行中另一个值的计数
我有一个员工列表,列出了他们的职位编号,还有一个名为position_sequence的字段,它将员工的职位分配为1或2。因此,只有当一名员工有两个职位时,一个职位应分配为1,另一行的值应为2 但是,我希望找到一个查询,以查找数据的所有问题,其中员工只有一个职位,但职位序列是2而不是1 正确的数据2位置:Sql查询查找值为2的行取决于行中另一个值的计数,sql,Sql,我有一个员工列表,列出了他们的职位编号,还有一个名为position_sequence的字段,它将员工的职位分配为1或2。因此,只有当一名员工有两个职位时,一个职位应分配为1,另一行的值应为2 但是,我希望找到一个查询,以查找数据的所有问题,其中员工只有一个职位,但职位序列是2而不是1 正确的数据2位置: employee position sequence ------------------------------------ bob builder 1 bob
employee position sequence
------------------------------------
bob builder 1
bob cleaner 2
示例1位置不正确,但标记为2而不是1:
employee position sequence
------------------------------------
sally builder 2
您可以使用“不存在”:
如果您想要一个常规的序列缺失,则生成序列并显示异常:
select t.*
from (select t.*,
row_number() over (partition by employee order by sequence) as imputed_sequence
from t
) t
where imputed_sequence <> sequence;
select t.*
from (select t.*,
row_number() over (partition by employee order by sequence) as imputed_sequence
from t
) t
where imputed_sequence <> sequence;