"concaténer" plusieurs lignes dans un seul champ

djobert Messages postés 4 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 9 janvier 2009 - 1 déc. 2008 à 15:00
djobert Messages postés 4 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 9 janvier 2009 - 2 déc. 2008 à 17:11
Salut, j’ai un problème SQL que je n'arrive pas à résoudre.



<?XML:NAMESPACE PREFIX = O /??>
 








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                                                                                      VUE







NO_PLAN         NO_SECTEUR                                                 NO_PLAN         SECTEUR







0074                            TR                                                       0074                         TR







0075                            CAP                                                    0075                         CAP







0075                            TR                                                       0076                         TRO







0075                            TRO







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                                                                                      VUE







NO_PLAN         NO_SECTEUR                                                 NO_PLAN         SECTEUR







0074                            TR                                                       0074                            TR







0075                            CAP                                                    0075                 CAP – TR – TRO







0075                            TR                                                       0076                            TRO







0075                            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-

2 réponses

dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
2 déc. 2008 à 16:31
Salut, c'est bizarre que tu perdes les autres enregistrements...
Qu'est ce que tu fais dans ta vue?
Un group by???

Peux tu mettre la requête de ta vue, s'il te plaît, ce n'est pas normal que tu perdes les enregistrements comme ceci.
0