我想说这数据库结构谁设计的?建议你把第一张表结构改成3列(职等,职务,工资)你的基础工资标准的主键(这里业务主键需要职等、职务共同决定工资)都没有,不能唯一确定一行。
create procedure Proc_GetSalary
@EmpNo varchar(20)
As
BEGIN
declare @ZhiWu varchar(20),@ZhiDeng int
select @ZhiWu=职务,@ZhiDeng=职等 from 人员档案 where EmpNo =@EmpNo
declare @BaseSalary decimal(10,2)
exec('select '+substring(@ZhiWu,1,2) +' from 基础工资标准 where 职等='''+cast(@ZhiDeng as varchar)+''')
END
--以上是在sqlserver中代码 思路:找出员工职位的前2位 该字符串为 基础工资标准表 的列名
还是建议楼主,你把数据导入到sql server里来做吧,否则这access实现不了
select
a.编号, a.姓名, b.基础工资, b.岗位工资, b.基础工资+b.岗位工资
from
人员档案 as a, 基础工资标准 as b
where a.职等 = b.职等