truncate table zp_test;
INSERT INTO zp_test (rec_date,end_date,name,vid_nadbavki,summa)
VALUES('01.01.2023','05.05.2023','руслан','оклад',000),
('01.01.2023','05.05.2023','руслан','проф мастерство',000),
('01.01.2023','05.05.2023','руслан','питание',000),
('2023','2023','таня','500')
;
select * from zp_fact;
select name, sum(summa) as summa
into ##test_sum
from zp_test
group by name;
select name, sum(summa) as summa
into ##fact_sum
from zp_fact
group by name;
update zp_fact
set name = 'ЗАКРЫТО'
where name
in (select f.name
from ##fact_sum f
join ##test_sum t on t.name = f.name
where t.summa != f.summa
)
;
insert into zp_fact (rec_date,end_date,name,vid_nadbavki,summa)
select rec_date
, end_date
, name
, vid_nadbavki
, summa
from zp_test
where name not in (select f.name from zp_fact f)
;
select * from zp_fact;