Soit une boucle qui interroge les formations scolaires et une deuxième à l’intérieur qui interroge les métiers correspondants à cette formation.
La deuxième base contient des métiers en double (je ne peux pas toucher à la base).
J’obtiens ceci :
• CAP Pâtissier
• chocolatier-confiseur / chocolatière-confiseuse
• Bac Pro Boulanger/Pâtissier
• boulanger / boulangère
• boulanger / boulangère
• chocolatier-confiseur / chocolatière-confiseuse
• pâtissier / pâtissière
• CAP Cuisine
• cuisinier / cuisinière
• cuisinier / cuisinière
• Bac Pro cuisine
• cuisinier / cuisinière
• cuisinier / cuisinière
Je voudrais donc retirer les doublons, pour obtenir :
• CAP Pâtissier
• chocolatier-confiseur / chocolatière-confiseuse
• Bac Pro Boulanger/Pâtissier
• boulanger / boulangère
• chocolatier-confiseur / chocolatière-confiseuse
• pâtissier / pâtissière
• CAP Cuisine
• cuisinier / cuisinière
• Bac Pro cuisine
• cuisinier / cuisinière
Sauf que quand j’applique le filtre UNIQUE, il me supprime les occurrences dans toutes les formations suivantes :
Même en utilisant un argument de nommage (|unique{formations}), cela ne change rien. Il faudrait peut-être un hommage qui s’incréments à chaque tour de boucle ?
Soit une boucle qui interroge les formations scolaires et une deuxième à l’intérieur qui interroge les métiers correspondants à cette formation.
La deuxième base contient des métiers en double (je ne peux pas toucher à la base).
Même en utilisant un argument de nommage (|unique{formations}), cela ne change rien. Il faudrait peut-être un hommage qui s’incréments à chaque tour de boucle ?
C'est dans les critères de la boucle qu'il faut spécifier le critère d'unicité.
J’avais déjà essayé sans préciser {#INTITULE_FORMATION} mais j’ai le même message :
*« zbug_doublon_sur_table_sans_cle_primaire » *
*
Et je ne peux pas créer de clé primaire dans la base provenant d’un site OpenData et actualisée régulièrement avec le moins de manipulation possible.
Ah oui... Base externe.
A ce moment-là, il faut créer un tableau avant la boucle, tu stockes tous les libellés de métiers dans ce tableau au cours de la boucle (sans affichage), ensuite tu supprimes les doublons, et alors tu ré-affiches la liste par une nouvelle boucle.
--
Stéphane
*Enseignant de Sciences de l'Ingénieur @ac-poitiers*
17 Charente-Maritime
En théorie, sur une table « standard », il doit être possible d’utiliser la syntaxe classique en lieu et place du where; quand bien même cette base est une base externe.
<BOUCLE_metiers(XXXX){code_rome=#CODE_ROME}>
Est-ce qu’un group by via le critère fusion ne ferait pas l’affaire?
C’est dans les critères de la boucle qu’il faut spécifier le critère
d’unicité.
J’avais déjà essayé sans préciser {#INTITULE_FORMATION} mais j’ai le
même message :
*« zbug_doublon_sur_table_sans_cle_primaire » *
*
Et je ne peux pas créer de clé primaire dans la base provenant d’un site
OpenData et actualisée régulièrement avec le moins de manipulation possible.
Ah oui… Base externe.
A ce moment-là, il faut créer un tableau avant la boucle, tu stockes
tous les libellés de métiers dans ce tableau au cours de la boucle (sans
affichage), ensuite tu supprimes les doublons, et alors tu ré-affiches
la liste par une nouvelle boucle.
–
Stéphane Enseignant de Sciences de l’Ingénieur @ac-poitiers
17 Charente-Maritime
Le 13 juil. 2020 à 15:34, pierre laszczak <pierre.laszczak@gmail.com> a écrit :
hello,
En théorie, sur une table "standard", il doit être possible d'utiliser la syntaxe classique en lieu et place du where; quand bien même cette base est une base externe.
<BOUCLE_metiers(XXXX){code_rome=#CODE_ROME}>
Est-ce qu'un group by via le critère fusion ne ferait pas l'affaire?