SQL助力计算土地出让金滞纳金
土地出让金滞纳金计算涉及到地块号、竞得人、违约金额、违约时间、违约比例等,面对庞大的业务数据,采用传统的方法计算费时费力且易出现误差,而采用计算机辅助计算能够迅速、准确计算出应缴滞纳金数额,提高了工作效率。以下是具体的思路和方法。
一、整理数据表保留地块号、竞得人、每次缴款金额、每次缴款日期、违约比例等字段。
二、整理好的数据表导入SQL2008数据库中,利用SQL语句进行计算。(一)合同约定一次性缴纳出让金,一次缴清出让金计算滞纳金情况.
1、生成违约表.语句为:select 地块号,竞得人, 第一次缴款金额 违约金额,datediff( DAY,合同约定付款截止日, 第一次缴款日期) 违约天数 into 违约表 from dbo.滞纳金 where 成交价=第一次缴款金额 and 第一次缴款日期>合同约定付款截止日。
2、生成应缴滞纳金表。语句为:select 地块号,竞得人,违约金额*b.违约天数*违约比例 应缴纳滞纳金 from 违约表。
(二)合同约定一次性缴纳出让金,分次缴清出让金计算滞纳金情况。
1、生成多次缴款表。语句为:select* into 多次缴款表 from dbo.滞纳金 where 成交价!=第一次缴款金额
2、生成分次违约表。
(1)生成第一次违约表.语句为:select 地块号,竞得人, 第一次缴款金额 第一次违约金额,datediff(day,合同约定付款截止日,第一次缴款日期) 第一次违约天数。
into 第一次违约表 from 多次缴款表 where 第一次缴款日期>合同约定付款截止日(2)生成第二次违约表.语句为:select 地块号,竞得人, 第二次缴款金额 第二次违约金额 ,datediff(day,合同约定付款截止日,第二次缴款日期) 第二次违约天数into 第二次违约表 from 多次缴款表 where 第二次缴款日期>合同约定付款截止日。
(3)生成第三次违约表.语句为:select 地块号,竞得人, 第三次缴款金额 第三次违约金额,datediff(day,合同约定付款截止日,第三次缴款日期) 第三次违约天数 into 第三次违约表 from多次缴款表 where 第三次缴款日期>合同约定付款截止日。
......依次类推生成多次违约表
3、生成分次应缴滞纳金表
(1)生成第一次应缴滞纳金表.语句为:select 地块号,竞得人, 第一次违约金额 违约金额 ,第一次违约天数 违约天数 ,第一次违约金额*第一次违约天数*违约比例 应缴滞纳金into 第一次应缴滞纳金表 from 第一次违约表。
(2)生成第二次应缴滞纳金表.语句为:select 地块号,竞得人, 第二次违约金额 违约金额 ,第二次违约天数 违约天数 ,第二次违约金额*第二次违约天数*违约比例 应缴滞纳金 into 第二次应缴滞纳金表 from 第二次违约表。
(3)生成第三次应缴滞纳金表.语句为:select 地块号,竞得人, 第三次违约金额 违约金额 ,第三次违约天数 违约天数 ,第三次违约金额*第三次违约天数*违约比例 应缴滞纳金 into 第三次应缴滞纳金表 from 第三次违约表
......依次类推生成多次语句滞纳金表.
3.生成合并应缴滞纳金表.语句为:select*into 合并应缴滞纳金表 from dbo.第一次应缴滞纳金表 union select*from dbo.第二次应缴滞纳金表 union select*from dbo.第三次应缴滞纳金表
(二)生成应缴滞纳金表.语句为:select 地块号,竞得人,SUM(应缴滞纳金) 应缴滞纳金合计 from合并应缴滞纳金表 group by 地块号,竞得人。