Salut, j'ai un problème SQL que je n'arrive pas à résoudre.
J'ai une table contenant les informations de plans numérisés avec plusieurs colonnes remplies de valeurs codées.
Je me suis créé une vue qui contient les informations de ma table, avec toutes les valeurs codées remplacées par leurs valeurs vraies se trouvant dans les tables autour.
Dans une de mes tables à coté de la principale, j'ai 2 colonnes : une qui contient le numéro de plan (c'est la colonne que j'utilise pour faire le join avec la table principale), et l'autre qui contient le secteur dans lequel se trouve le plan.
Le problème, c'est que certains plans touchent à plusieurs secteurs. Le logiciel qui est utilisé pour saisir les fiches des plans va aller créer plusieurs enregistrements. Par exemple, si j'ai le plan 0075 qui touche aux secteurs CAP, TR et TRO, je vais avoir dans ma table 3 enregistrements
0075 | CAP
0075 | TR
0075 | TRO
Cela fait que dans la vue, une fois le join créé, dans ma liste de plans, lorsque j'arrive au 0075, dans la colonne secteur, j'aurai une seule valeur contenue, par exemple CAP. Cela fait que je perds les 2 autres valeurs. Ca donne quelque chose du genre :
Table secteur
NO_PLAN | NO_SECTEUR
0074 | TR
0075 | CAP
0075 | TR
0075 | TRO
0076 | TRO
VUE
NO_PLAN | SECTEUR
0074 | TR
0075 | CAP
0076 | TRO
Je cherche donc un moyen pour que dans ma vue, dans la colonne secteur, je puisse avoir plusieurs valeurs. J'ai pensé faire une fonction Concaténer, mais cela fonctionne bien lorsque je veux rassembler les données de plusieurs colonnes en une seule.
Dans mon cas, je veux rassembler plusieurs champs d'une même colonne dans un seul champ pour que ca donne quelque chose du genre
Table secteur
NO_PLAN | NO_SECTEUR
0074 | TR
0075 | CAP
0075 | TR
0075 | TRO
0076 | TRO
VUE
NO_PLAN | SECTEUR
0074 | TR
0075 | CAP - TR - TRO
0076 | TRO
Alors, y a-t-il une façon, dans ma requête SQL, pour faire un genre de contaténer de plusieurs champs, qui ont une valeur commune, à l'intérieur d'un seul champ dans la vue?
Merci
-djobert-
Partager