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

关于计算工资的问题
我已经构造出这样一张表,目的是通过case   when   计算所得税
id   个人所得税(SalaryMoney)     计算公式(formula)
1                   600                                 case     when     SalaryMoney <500     then   .....
如何通过这个公式把应纳税额计算出来,想的头晕了,朋友们,贡献点你们的智慧吧!

------解决方案--------------------
原来的表格加上一个Tax列,放计算出来的数据
构造一个所得税表,将计算公式放里面
ID IncomeCap Rate(超过部分所缴税率) Fix(非超过部分所缴固定税)

给定一个工资@Income = SalaryMoney,
所以公式固定为:所得税=(@Income-IncomeCap)*Rate+Fix

declare @Rate float, @Fix float, @Tax float, @Cap float

-- 选择税率
select Top 1 @Cap=IncomeCap, @Rate=Rate, @Fix=Fix from 所得税表 where

@Income > IncomeCap order by IncomeCap

-- 计算
set @Tax=(@Income-@Cap)*@Rate+@Fix
我的异常网推荐解决方案:软件开发者薪资,http://www.aiyiweb.com/other/1391128.html