Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'ai une table intitulée "Ecommerce"
Code produit | Commande | N° inscription |
---|---|---|
PACK_REUSS | 111111 | AAAAA |
P5365 | 111111 | BBBBB |
PACK_AVAN | 222222 | CCCCC |
P2589 | 333333 | DDDDD |
P2589 | 222222 | EEEEE |
Une autre table "Inscriptions".
N° inscription | Code promo |
---|---|
AAAAA | |
BBBBB | |
CCCCC | |
DDDDD | |
EEEEE |
Je voudrais remplir le champ "Code promo" avec le libellé indiqué dans la colonne "Code produit" quand le libellé du code produit contient le mot "PACK" et pour la commande et tous les N° d'inscription associées.
Donc le résultat attendu est le suivant :
N° inscription | Code promo |
---|---|
AAAAA | PACK_REUSS |
BBBBB | PACK_REUSS |
CCCCC | PACK_AVAN |
DDDDD | |
EEEEE | PACK-AVAN |
Merci de votre aide.
Bonne journée,
Anne
Here it is an example, if ypou have personal edition you will not open the document so I paste the script:
TAB:
LOAD * Inline [
Codeproduit, Commande, Ninscription
PACK_REUSS, 111111, AAAAA
P5365, 111111, BBBBB
PACK_AVAN, 222222, CCCCC
P2589, 333333, DDDDD
P2589, 222222, EEEEE
];
PROMO:
LOAD * Inline [
Ninscription
AAAAA
BBBBB
CCCCC
DDDDD
EEEEE
];
Left Join
LOAD Ninscription, Codeproduit as CodePromo Resident TAB;
Bonjour,
À partir de votre exemple, je crois que vous pourriez arriver à votre objectif avec l'approche suivante:
TAB:
LOAD * Inline [
Codeproduit, Commande, Ninscription
PACK_REUSS, 111111, AAAAA
P5365, 111111, BBBBB
PACK_AVAN, 222222, CCCCC
P2589, 333333, DDDDD
P2589, 222222, EEEEE
];
PROMO:
LOAD * Inline [
Ninscription
AAAAA
BBBBB
CCCCC
DDDDD
EEEEE
];
// Ici, on commence par associer les numéros de commande aux numéros d'inscritiption. Le résultat sera une liste
// de tous les numéros d'inscription avec leurs commandes associées
Left Join (PROMO)
LOAD Ninscription, Commande as NoCommande
Resident TAB;
// Ici, nous allons associer les codes produit contenant la mention PACK aux numéros d'inscription en passant par
// les numéros de commande. Si vous désirez éliminer les lignes avec des codes produits à vide (voir le cas
// DDDDD dans votre exemple plus haut), remplacez simplement le terme "Left" par "Inner" ci-bas
Left Join (PROMO)
LOAD Commande as NoCommande, Codeproduit as CodePromo
Resident TAB
Where WildMatch(Codeproduit, '*PACK*');
// Le champ NoCommande n'est plus nécessaire, on le laisse tomber
DROP Field NoCommande;
Cordialement,
Philippe
Bonjour afguillard,
Pour ma part, je ferai une concaténation des 2 tables, puis un champ conditionnel tel que dans le script suivant, fait à partir de ton exemple (ainsi, tu fais ton script une fois pour toute, il ne change pas à chaque ajout de données dans ta table.. :
ce qui donne :
oups, je n'avais pas vu qu'il y avait le même N° de commande pour plusieurs N°Inscription...
Philippe a la bonne solution !
Florent.
J'aurai utilisé un Left join.
Je charge les deux tables puis je mets :
Left Join (Inscriptions)
LOAD Ninscription, Codeproduit as CodePromo Resident Ecommerce;