2016权益单qingyuan

酷

===========================================begin

-----20180428养老权益单统计

select * from gdsimis.ac01 a where a.aac147='440127195607180918';

create table ac83_yl_cic001 as 

SELECT c.aac001,

       round(sum(c.aae019) / count(distinct c.aae002), 2) cic001

  FROM gdylsy.ac83 c, gdylsy.ac82 b

 WHERE c.aaz220 = b.aaz220

   and c.aae002 between 201601 and 201612

   and c.aae140 = '110'

扫描二维码关注公众号,回复: 116805 查看本文章

   and c.aaa036 in ('110098','110004','110001', '110002', '110003', '110025', '110038', '110495')

   and c.bae023 = 'S'

   --and c.aac001 =1000000004700785

   group by c.aac001, c.aae140, b.baf307;

select * from ac83_yl a where a.aac001=1000000004700785;

---少加了新旧办法补差,待遇项目'110004' ,多了代扣补充医疗保险费 110161

---------------------------------更新月平均养老待遇

MERGE INTO ac83_yl t1

USING (SELECT * FROM ac83_yl_cic001) t2

ON ( t1.aac001=t2.aac001)

WHEN MATCHED THEN

  UPDATE SET t1.cic001 = t2.cic001

;

select * from gdsimis.ac01 a where a.aac147='440127195610230517';

select * from ac83_yl a where a.aac001=1000000004788043;

----------------------------------------更新当年调整金

select count(1) from ac83_yl a where a.aae041>201606;

--cytz nianyue 首次领取养老待遇须 <= 201606 

update ac83_yl a set a.cic002=0 where a.aae041>201606;

--上年度养老金标准

--取2015年12月的待遇,如果是16年1月到6月前领取待遇的,直接取这个待遇数值即可

alter table ac83_yl add dy201512 number;

update ac83_yl  set dy201512=null ;

MERGE INTO ac83_yl t1 

using  

(SELECT C.AAC001, SUM(C.AAE019) AAE019

  FROM AC83 C, AC83_YL B

 WHERE C.AAC001 = B.AAC001

   AND C.AAE002 = 201512

   AND C.AAE140 = '110'

   AND C.AAA036 IN ('110098', '110004', '110001', '110002', '110003',

        '110025', '110038', '110495')

   AND C.BAE023 = 'S'

 GROUP BY C.AAC001) t2 

ON ( t1.aac001=t2.aac001)

WHEN MATCHED THEN

  UPDATE SET t1.dy201512 = t2.AAE019

;  

select count(1) from ac83_yl a where a.dy201512 is null;

MERGE INTO ac83_yl t1 

using  

(SELECT C.AAC001, SUM(C.AAE019) AAE019

  FROM AC83 C, AC83_YL B

 WHERE C.AAC001 = B.AAC001

   AND C.AAE002 = b.aae041

   AND C.AAE140 = '110'

   AND C.AAA036 IN ('110098', '110004', '110001', '110002', '110003',

        '110025', '110038', '110495')

   AND C.BAE023 = 'S'

   and b.dy201512 is null

 GROUP BY C.AAC001) t2 

ON ( t1.aac001=t2.aac001)

WHEN MATCHED THEN

  UPDATE SET t1.dy201512 = t2.AAE019

;  

--35+ 上年度养老金标准*4.8%+ (缴费年限-15)向上取整*1

SELECT round(35 + A.DY201512 * 0.048 + (case when nvl(a.paymonth,0)>180 then CEIL(a.paymonth / 12)-15 else 0 end) +

       DECODE(NVL(A.AAC006, 0), 0, 0, 1200),2) tdje

  FROM AC83_YL A;

alter table ac83_yl add paymonth number;

--select aae200,(ceil(a.aae200/12)-15) from ic10 a where a.aac001=1000000004679085;

MERGE INTO ac83_yl t1

USING 

(SELECT B.AAC001, max(B.AAE200) aae200

  FROM IC10 B, AC83_YL A

 WHERE A.AAC001 = B.AAC001

   AND B.AAE140 = '110'

   and A.AAE041 <= 201606

   group by b.aac001) t2

ON ( t1.aac001=t2.aac001)

WHEN MATCHED THEN

  UPDATE SET t1.paymonth = t2.aae200

----------------------

----2016年6月30日(含当日)前年满75周岁的,一次性加发1200元===19410630 qian 

select a.aac006,b.aac001 from gdsimis.ac01 a,ac83_yl b where a.aac001=b.aac001 

and a.aac006<=19410630;

alter table ac83_yl add aac006 number;

MERGE INTO ac83_yl t1

USING 

(select a.aac006,b.aac001 from gdsimis.ac01 a,ac83_yl b where a.aac001=b.aac001 

and a.aac006<=19410630) t2

ON ( t1.aac001=t2.aac001)

WHEN MATCHED THEN

  UPDATE SET t1.aac006 = t2.aac006

---------------------------------------------

ALTER TABLE gdylsyggyw.ACQ3 MODIFY baz663 DEFAULT gdylsy.SEQ_baz663.Nextval;

insert into gdylsyggyw.ACQ3(aae001, aac001, aae041, aae042, cic101, cic102, baz002, aaa027)

select aae001, aac001, aae041, aae042, cic001, cic002, baz002, aaa027 from ac83_yl a;

--ACQ3-个人权益单(养老)

SELECT * FROM gdylsyggyw.ACQ3 a WHERE a.baz002=1000000000000040;

===========================================end

猜你喜欢

转载自yhzhangdota.iteye.com/blog/2422003