日期:2014-05-18  浏览次数:20689 次

SQLSERVER查询连续三年考核为优的员工记录
有如下表
F009   职工年度考核结果表
字段名称 字段类型 长度 说明 备注
area_id nvarchar 4 区域代号 (区域的代号)
dpt_id nvarchar 4 部门代号 所在部门代号
zg_id nvarchar 6 职工   ID
year_id nvarchar 4 考核年度
dpt nvarchar 30 区域
result nvarchar 10 考核结论(优,一般,合格)
note nvarchar 50 有关说明
要从中查询连续三年考核为优的员工记录 ,如何做啊!!
项目中要用,在线等啊!!!


------解决方案--------------------
select
distinct t.zg_id
from
F009 t
where
t.result= '优 '
and
exists(select 1 from F009 where zg_id=t.zg_id and year_id=t.year_id-1 and result= '优 ')
and
exists(select 1 from F009 where zg_id=t.zg_id and year_id=t.year_id+1 and result= '优 ')