Bonjour,

j'ai actuellement 2 requêtes SQL qui me permettent de créer 2 tables puis je regroupe ces 2 tables en utilisant une étape data dans SAS. Afin de diminuer les temps de traitement, l'objectif est de faire tout cela via 1 unique requete SQL optimisée.
Un peu plus de détails:
La 1ère requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
create table persdetinta  as
	select person_id, gender as sex, nationality,
	case nationality when 'CH ' then 0 when '   ' then 0 else 1 end as non_native length 3, language,
	marital_state as marital_status, party_inf_chplus as chplus, party_inf_adb as adb, block_for_advertis
 
	from p_person(dbkey= party_id,) a, 
                    sampleh b
	where a.party_id eq b.person_id
			and &now_date between valid_from and valid_to;
La 2ème requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
create table agefix as
	select person_id, valid_from, date_of_birth	
	from p_person(dbkey party_id) a,	
                    sampleh b
	where a.party_id eq b.person_id
			and date_of_birth ne .;
Avec cette 2eme requete, j'obtiens tous les enreg du person_id. Je ne souhaite en fait prendre en compte que le dernier enregistrement ie celui avec la data valid_from la plus récente (normalement je fais cela ds une procédure SAS).
Après avoir fait cette sélection je souhaite regrouper les 2 tables obtenues en une seule en prenant comme base la table persdetinta et en mergeant sur person_id.
Remarque : les 2 requêtes utilisent les mêmes tables sources mais les conditions (where) ne sont pas les mêmes...

Qqn a-t-il une idée?merci