表结构是这样的 表名:员工
**Employee_Id APPRS_TY_CD**
540589 2
540589 UNK
1952938 2
1952938 UNK
2488178 1
2488178 UNK
3818934 1
3818934 UNK
5402944 1
如果员工ID具有APPRS_TY_CD(UNK和值),则APPRS_TY_CD应该是值而不是UNK。如果APPRS_TY_CD对于员工ID不是UNK,那么应该按原样填充该值。
我的最终输出应该是这样的。
**Employee_Id APPRS_TY_CD**
540589 2
1952938 2
2488178 1
3818934 1
5402944 1
我正在使用MS Access。
答案 0 :(得分:2)
这应该相当简单,因为数字被认为是"较低"我可以使用聚合函数创建一个SQL Fiddle here(注意这是Sql Server,但代码应该与它不使用专有功能相同)。根据您的数据,您可以使用SQL中的MIN
函数为每个用户获取APPRS_TY_CD
。这是我建议的代码:
SELECT
Employee_Id
, MIN(APPRS_TY_CD) APPRS_TY_CD
FROM
Employee
GROUP BY
Employee_Id
返回的结果是(你应该能够自己执行小提琴来证明这一点):
EMPLOYEE_ID APPRS_TY_CD
540589 2
1952938 2
2488178 1
3818934 1
5402944 1