利用计算机SQL语句发现同时享受扶贫资金与养老保险的审计方法

11.10.2016  15:06

 

  在扶贫资金审计过程中,通过计算机辅助审计,可以发现同时享受扶贫资金与养老保险待遇的问题。SQL语句实现脚本为:

   一、重复领取扶贫资金和养老保险待遇的SQL语句,查询分析的过程主要有以下几个方面:

  (一)将享受扶贫资金和养老待遇重复表当中的数据类型进行转换,表中的数据多为文本型,将其转换为日期型的实现语句为:select 个人代码、单位代码、单位名称、享受险种类型、享受待遇金额,CAST(开始时间+'01' as datetime)开始时间,CAST(结束时间+'01' as datetime)结束时间 into #扶贫养老重复from dbo.扶贫养老重复

  (二)分析计算重复领取的时间段,确定领取扶贫资金金额。select a.个人代码,a.姓名,a.居民身份号码,a.待遇类别,a.待遇发放状态,a.单位代码,b.单位名称,a.发生时间, CAST(a.开始年月+'01' as datetime)扶贫资金开始发放年月,CAST(case a.终止年月 when '' then '201608' else a.终止年月 end +'01' as datetime)扶贫资金终止发放年月,

  a.扶贫资金金额 ,b.险种类别,b.享受待遇金额 养老保险待遇金额,b.开始时间 养老待遇开始时间

  into #cfsc

  from dbo.扶贫补助资金 a join #扶贫养老重复 b on a.个人代码=b.个人代码

  where b.险种类别='养老' and ( CAST(a.开始年月+'01' as datetime)<='2015-01-01'

  and '2015-01-01'<=CAST(case a.终止年月 when '' then '2016-08-01' else a.终止年月+'01' end as datetime) or CAST(a.开始年月+'01' as datetime)>='2015-01-01')

  (三)对重复领取待遇人员进行数据整合,汇总计算出总金额与总笔数。select distinct 单位代码,个人代码,姓名,养老待遇开始时间,扶贫资金开始年月,扶贫资金终止年月,扶贫资金金额,DATEDIFF(MONTH,case when 扶贫资金开始年月<'2015-01-01' then '2015-01-01' else 扶贫资金开始年月 end,扶贫资金终止年月)+1 领取扶贫补助资金笔数 into #csys from #cfsc

  select * from #csys

  二、未参保人员领取扶贫资金补助的SQL语句执行过程为:

  (一)查找并汇总每个参保人员首次参保时间。select 单位代码,单位代码,个人代码,min(distinct 首次参保时间)首次参保时间

  into #sccb

  from dbo.养老保险参保单位信息

  group by 单位代码,单位代码,个人代码

  (二)查找扶贫补助资金发生时间在首次参保时间之前的可疑参保人员。select distinct a.*,b.首次参保时间

into #zfqf

  from dbo.支出扶贫资金 a join #sccb b

  on a.单位编号=b.单位编号 and a.个人编号=b.个人编号 where b.首次参保时间 >a.工伤发生时间

  (三)计算汇总出可疑参保人员领取扶贫补助金额。select 个人代码,居民身份号码,姓名,SUM(扶贫补助资金金额) 扶贫补助资金金额 from #zfqf group by 个人代码,居民身份号码,姓名(任晓波)