无障碍浏览
您的位置:审计厅 > 审计之窗 > 业务交流

延吉市:用SQL巧核社保养老保险企业职工个人缴费基数

日期:2011年-08月-17日 09:55:00    来源:

  基本养老保险费中个人缴纳的基本养老保险费以本人上年度月平均应发工资总额为缴费基数。在养老保险基金审计调查中,可以通过延伸调查参保企业,利用sql数据库核查参保单位个人的缴费基数,从而发现少核缴费基数、擅自降低缴费比例和擅自减免社会保险费导致基金收入减少、缴费基数不真实的问题。

  一、采集excel表格

  通过拷贝获取被调查单位职工上年度的工资表,格式为excel电子表格,共十二个,每个月工资表以科室为单位,由相同字段但不连续的数据区域组成。要得到其中某一个职工的应付工资平均数,需分别打开十二个月电子表格,找到相应的记录,复制其工资数,累加除以领取工资月份数后才能得到平均值。

  二、导入sql数据库

  为了寻求更便捷的方法,审计人员尝试将一个月的电子表格数据导入sql中,同样的方法将十二个表格分别导入sql中。工资分表存放,给审计人员掌握和分析每个职工的应付工资全年情况带来障碍,因此在进行数据转换时就必须将分布在多张表中的同一格式的数据合并起来,可采用sql的union all子句进行十二个月的表的数据合并,并将其作为单个结果集返回(注意此处如用union 将会删除重复行)如下语句:

  select * into 合并工资表 from第1月工资表union all select * from 第2月工资表 union all select * from第3月工资表union all select * from第4月工资表 union all select * from第5月工资表union all select * from第6月工资表union all select * from第7月工资表union all select * from第8月工资表union all select * from第9月工资表union all select * from第10月工资表union all select * from第11月工资表union all select * from第12月工资表

  三、数据分析

  1、统计企业职工的上年度平均工资

  合并工资表中有合并单元格的表头被拆成自然行,不连续的数据区域中间被null值填充,但由于每个职工的工资条还是独立而完整的记录,因此可以直接利用group by子句按职工姓名进行分组统计。先用cast类型转换函数将字符型的应付工资转换为整型以便之后进行数值运算,用sum求和函数对同一职工的应付工资求和,用count计数函数计算姓名出现次数,即领取工资月数,具体实现语句如下:

  select 姓名,平均工资=sum(cast(应付工资 as int))/count(*) into 平均工资表 from 合并工资表 group by姓名

  2、将企业职工的平均工资与社保养老保险业务数据的个人缴费基数进行对比。

  由于社保中的个人缴费基数是带小数点的字符型数据,因此先用cast类型转换函数将其转换为小数类型。将上述平均工资表与社保个人缴费基数表以姓名相同为条件进行内连接,计算企业职工平均工资与个人缴费基数差,用如下语句实现:

  select a.姓名,a.平均工资,b.个人缴费基数,基数差=平均工资- cast(个人缴费基数 as decimal) into养老保险缴费基数对比 from 平均工资表 a join 社保个人缴费基数 b on a.姓名=b.姓名

  通过基数差得出抽查企业是否少核定个人养老保险缴费基数,完成对社保养老保险企业职工个人缴费基数的真实性的审查。

  (本文内容仅为作者个人观点,不代表任何审计机关和本网站的观点,未经许可,不得转载) 

网站地图 吉林省审计厅 吉ICP备2022007550号-1 地址:吉林省长春市亚泰大街6399号
邮政编码:130022 Fax:0431-85898333
办公室电话:85265114 值班电话:85265112
吉公网安备 22000002000035号    网站标识码:2200000067

微信公众号