日期:2014-05-17  浏览次数:20357 次

SQL 复杂联合查询及表的设计

姓名 部门 职位 出勤天数 基本工资 职务津贴 奖金 补助 前期提成 后期提成 负激励 病事假 押金 应发 实发
王婷 门市 经理     25         1000      500          40    125     1080      1600      20        100      500 4225 3725
...
这是要出来的结果是这样的。基本的算法是基本工资、职务津贴是固定的。奖金呢是做了两次好事,每次奖了20元(这个地方是不是应该再加一个表体现?),补助是按照天数X每天5元钱补的。应该在EMPLOYEE表再加一字段就能算出来。前期提成和后期提成这个比较麻烦,因为有好多公式,每个员工的工式也不一样。比如有一个是很简单的只是前期提1%,后期提5%;还有一个是前期现金收入(MONEY表)未达到5万元提1%,达到后5万元是1%,6万元是第6万元提1.5%,7万元是第7万的提2%,达到10万前面的都不算,全部提3%。后期收入呢,同样是2万元之内是2%,第3万的提2.5%,第4万是3%。前期收入的现金收入是CUSTOM表中的PRICE是前期,但是MONEY小于等于这个数都处是前期的钱。后期收入是CustomDetails表中的CLASS标志为“后期收入”的并且是MONEY已交款的现金为后期收入金额。反正有点乱,如果各位大虾对我表述不是很清楚,但是能理解我的需要的话可以联系我QQ号37678173给现成的表做测试用。或者能够跟据我下面的数据测试,因为还要加表。


我现在的表是有一个EMPLOYEE
NAME NICKNAME DEPARTMENT POSITION LABORAGE(基本工资) Vacation(公休天数)
王婷   婷婷             门市                      经理                    1000                       4
...

表Attendance(考勤表)
NAME DAYS
王婷  26(月天数-公休天数)
...

表Custom(前期提成的内容)
CUSTOMNO CUSTOMNAME PRICE SALES ORDERDATE
1111111        王宁宁                5000    婷婷     2013-2-14
1111112        宋小伟                3000    王婷     2013-2-14
...

表CustomDetails(销售表-后期提成的内容)
CUSTOMNO CUSTOMNAME SORT   Price SALES BUYDATE CLASS
1111111        王宁宁                相册      1000   婷婷   2013-5-12 后期收入
...

表MONEY
CUSTOMNO CUSTOMNAME MONEY PAYDATE SALES
111111          王宁宁                5000      2013-5-12  王婷
111111          王宁宁                1000      2013-5-12  王婷
...


------解决方案--------------------
引用: