SET application_name = "COREG - statistiques 4/4";

-- mise a jour des donnees modifiees
update coregistration.statistiques_coregistration
        set
                statistiques_coregistration_cout_annonceur              = statistiques_coregistration_travail_cout_annonceur,
                statistiques_coregistration_remuneration_affilie        = statistiques_coregistration_travail_remuneration_affilie,
                statistiques_coregistration_total                       = statistiques_coregistration_travail_total,
                statistiques_coregistration_date_maj                    = now()
from coregistration.statistiques_coregistration_travail
where statistiques_coregistration_identifiant = statistiques_coregistration_travail_identifiant
and statistiques_coregistration_total != statistiques_coregistration_travail_total;



-- mise a jour des stats affichage
with travail as (
	select 
		statistiques_coregistration_identifiant as identifiant,
		case 
			when row_number() over (partition by  statistiques_coregistration_affichage_travail_date_reception, statistiques_coregistration_affichage_travail_site, statistiques_coregistration_affichage_travail_camp_annonceur, statistiques_coregistration_affichage_travail_camp_affilie) = 1 
			then statistiques_coregistration_affichage_travail_affichage
			else 0 
		end as affichage
	from coregistration.statistiques_coregistration
	inner join coregistration.statistiques_coregistration_affichage_travail taff
		on statistiques_coregistration_affichage_travail_date_reception = statistiques_coregistration_date_reception
		and statistiques_coregistration_affichage_travail_site = statistiques_coregistration_site
		and statistiques_coregistration_affichage_travail_camp_annonceur = statistiques_coregistration_campagne_annonceur
		and statistiques_coregistration_affichage_travail_camp_affilie = statistiques_coregistration_campagne_affilie
	where statistiques_coregistration_date_reception >= date_trunc('day', now() - INTERVAL :interval) -- toujours mettre la meme valeur que la plage sur laquelle on travaille
)
update coregistration.statistiques_coregistration
	set statistiques_coregistration_affichage = affichage
from travail
where statistiques_coregistration_identifiant = travail.identifiant
and statistiques_coregistration_affichage != travail.affichage;
