Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Récuperation d'un champ sous plusieurs conditions

Bonjour,

Je souhaite récupérer un champ d'une table mais j'ai plusieurs conditions à gérer sur ce champ.

Ainsi, j'ai deux feuilles dans la même application, dans les quelles je récupère ce champ mais sous des conditions différentes :

1. Dans la première feuille : je récupère les PDL ouverts et fermés donc je gère cela dans l'expression(Etat PDL est "Ouvert ou "Fermé") ; la requête correspondante dans le script est :

BRANCHEMENTS :

LOAD

SPT_ID,

SPT_REFE AS REF_PDL,

ADR_ID;

SELECT *  FROM TECSERVICEPOINT ;

...

2. Dans la deuxième feuille, je souhaiterai afficher les PDL ouverts sans contrats actifs , donc cette fois-ci il y'aurai des conditions à rajouter sous la requête. la requête correspondante dans le script serrait :

BRANCHEMENTS :

LOAD

SPT_ID,

SPT_REFE AS REF_PDL,

ADR_ID;

SELECT *  FROM TECSERVICEPOINT where not exists (select 1 from agrserviceagr a where a.spt_id = p.spt_id and  sag_enddt is  null) ;

...

Donc, mon problème est que je ne sais pas comment gérer ces deux cas puisque les deux feuilles seront dans la même application , donc dans le même script.

Merci d'avance.

1 Reply
kevinchevrier
Partner - Creator III
Partner - Creator III

Bonjour,

Je ne suis pas sûr de comprendre ce que tu veux.

1 - Soit tu veux 2 tables distinctes et les relier. Dans ce cas, je nommerais la table de la feuille 2 d'une autre manière "BRANCHEMENTS_OUVERTS_ACTIFS" par exemple. Ensuite, 2 possibilités :

          - soit tu créés une clé de concaténation avec les champs en commun

          - soit tu fais un right join :

                    BRANCHEMENTS_OUVERTS_ACTIFS :    

                        LOAD * RESIDENT BRANCHEMENTS;

                         Right join

                         LOAD

                         SPT_ID,

                         SPT_REFE AS REF_PDL,

                         ADR_ID;

                         SELECT *  FROM TECSERVICEPOINT where not exists (select 1 from agrserviceagr a where a.spt_id                          = p.spt_id and  sag_enddt is  null) ;


2- Soit tu veux 2 tables distinctes sans les relier:

Dans ce cas :

BRANCHEMENTS_OUVERTS_ACTIFS :    

LOAD

SPT_ID as ADR_ID_OUVERTS_ACTIFS,

SPT_REFE AS REF_PDL as ADR_ID _OUVERTS_ACTIFS,

ADR_ID as ADR_ID _OUVERTS_ACTIFS;

SELECT CHAMP1 as CHAMP1_OUVERTS_ACTIFS  FROM TECSERVICEPOINT where not exists (select 1 from agrserviceagr a where a.spt_id                        = p.spt_id and  sag_enddt is  null) ;

Kevin