[Résolu] Fusionner les enregistrements d'une même colonne

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
unamibzh
Fraîchement OOthentifié
Messages : 7
Inscription : 07 mai 2012 21:10

[Résolu] Fusionner les enregistrements d'une même colonne

Message par unamibzh »

Bonjour à tous,

Je suis confronté à un problème insoluble depuis quelques semaines déjà. :fou:

Pour les besoins d'une base de données regroupant les membres d'un club bénévoles, je dois référencer notamment les différents numéros de téléphone.
Pour les besoins également de la mise en forme avec report builder je ne peux pas faire des tris ou de regroupements.

Pour être plus clair, j'ai une table organisée comme suit:

Clé primaire | Nom | Téléphone

1 |BERNARD |0606060606
2 |BERNARD | 0707070707
3 |Gerald | 0101010101
4 |STEPHANE | 0202020202
5 |STEPHANE | 0303030303
6 |STEPHANE | 0404040404

et je voudrais pouvoir organiser, créer un requête, ou une requête sql qui me permettrait de rassembler sous un même champs le enregistrement d'une même colonne quelques chose dans ce genre

Clé primaire Nom Téléphone[/u][/i][/b]
BERNARD 0606060606, 0707070707
Gerald 0101010101
STEPHANE 0202020202, 0303030303, 0404040404

Quelqu'un pourrait-il m'aider ?

Par avance un très très grand merci
Le Modérateur a écrit :Le balisage n'est pas un caprice de notre part. Il permet à tout le monde de synthétiser au mieux l'information lors des recherches. Pour vous en convaincre, regardez l'ensemble des fils de discussion pour apprécier cet aspect professionnel de présentation.

Suivez ce sujet pour savoir comment procéder : http://user.services.openoffice.org/fr/ ... c3299.html
L'ajout de l'icône "Issue" permet de signaler un appel au vote et donc accélérer la résolution du problème auprès des développeurs et n'a pas lieu d'être dans le cas présent.
Pièces jointes
Essai.odb
(3.41 Kio) Téléchargé 299 fois
Dernière modification par unamibzh le 10 mai 2012 12:21, modifié 5 fois.
libreoffice Version: 6.0.3.2
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 20:07
Localisation : Guyane

Re: Fusionner les enregistrement d'une même colonne !!!

Message par Piaf »

Bonsoir

Base est un système de gestion de base de données relationnelle.
Puisque un Membre peut avoir plusieurs numéros de téléphone, tu devrais créer une table Membres et une Téléphone et les mettre en relation. (Table Personnes et Tph, formulaire fPersonnes dans l'exemple)
Ou limiter arbitrairement le nombre de numéros par membres et ajouter autant de champs Tph que de numéros autorisés. (Table Membres et formulaire fMembres, dans l'exemple)
Dans tous les cas, tu ne devrais avoir qu'un seul enregistrement par membre.
A+
Pièces jointes
Essai.odb
(20.87 Kio) Téléchargé 330 fois
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Lansing
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 220
Inscription : 26 nov. 2011 12:03

Re: Fusionner les enregistrement d'une même colonne !!!

Message par Lansing »

bonjour a vous tous

pourquoi ne ferais tu pas une base dans ce style la c est simple et estétique
Pièces jointes
Essai (1).odb
(13.01 Kio) Téléchargé 463 fois
openoffice 3.3 et sous sept
unamibzh
Fraîchement OOthentifié
Messages : 7
Inscription : 07 mai 2012 21:10

Re: Fusionner les enregistrement d'une même colonne !!!

Message par unamibzh »

Merci à Piaf et Lansing pour vos solutions ... mais celles-ci ont déjà été envisagées ...
Pour la bonne mise en forme de ma base de données, je dois pouvoir impérativement "fusionner" les enregistrements d'une même colonne et ce pour une raison de mise en forme au moment de l'édition de mon rapport.

Je m'explique.
Chaque membre peut être joint sur plusieurs téléphone.
Certains membres ont un ou plusieurs véhicule (voire aucun) mais, et parmi eux certains ont un ou plusieurs types de permis.
L'idée est de pu voir synthétiser sur une ligne d'enregistrement unique l'ensemble de ces informations.
Je ne souhaite pas partir par défaut sur le fait que chaque membre puisse avoir au maximum 3 téléphones et au max 3 type de permis etc ...

D'où ma question comment synthétiser fusionner regrouper les enregistrement d'une même colonne ?
J'ai bien essayé les fonctions fusion et autres sur les requête mais open office me renvoie un message d'erreur.
N'y a-t-il pas une fonction SQL (ou un magicien du SQL) qui pourrait me renseigner ?

Par avance un énorme MERCI
libreoffice Version: 6.0.3.2
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 24026
Inscription : 03 mars 2006 09:45
Localisation : 127.0.0.1
Contact :

Re: Fusionner les enregistrement d'une même colonne !!!

Message par Dude »

Salut,
unamibzh a écrit :J'ai bien essayé les fonctions fusion et autres sur les requête mais open office me renvoie un message d'erreur.
Tu as essayé quoi exactement ?
Et quel est donc ce mystérieux message retourné ?

Ce que tu cherches à faire s'appelle une concaténation de champs.
Une recherche sur ce terme t'amènera des réponses.
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16483
Inscription : 03 mars 2006 18:02
Localisation : Venise verte

Re: Fusionner les enregistrement d'une même colonne !!!

Message par jeanmimi »

Je n'ai pas l'impression qu'il s'agisse de concaténation, mais plutôt de l'équivalent de Transpose dans Calc lorsqu'on fait un copier/coller de données en colonne en données en ligne.
LibreOffice : Version : 7.5 (x64)(5 février 2023)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
unamibzh
Fraîchement OOthentifié
Messages : 7
Inscription : 07 mai 2012 21:10

Re: Fusionner les enregistrements d'une même colonne

Message par unamibzh »

Oui ce serait plutôt ça !!!

Mais comment le faire sous base ?
libreoffice Version: 6.0.3.2
unamibzh
Fraîchement OOthentifié
Messages : 7
Inscription : 07 mai 2012 21:10

Re: Fusionner les enregistrements d'une même colonne

Message par unamibzh »

Et pour Dude, le message d'erreur qui m'est renvoyé est Statut SQL: S1000
Code d'erreur: -33

Access is denied: COLLECT in statement [SELECT COLLECT( "IdMembre" ) FROM "Membres"]
Le modérateur a écrit : Merci de ne pas poster plusieurs messages à la suite, si vous devez ajouter un complément d'information, le bouton "Editer" à la droite du message permet d'y remédier.

En attendant une prochaine réponse, vous pouvez participer également en répondant à d'autres questions sur notre forum.
libreoffice Version: 6.0.3.2
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 24026
Inscription : 03 mars 2006 09:45
Localisation : 127.0.0.1
Contact :

Re: Fusionner les enregistrements d'une même colonne

Message par Dude »

unamibzh a écrit :Access is denied: COLLECT in statement [SELECT COLLECT( "IdMembre" ) FROM "Membres"]
COLLECT n'existe pas en SQL. Reporte toi sur le guide HSQL épinglé en haut de la section.
unamibzh a écrit :Oui ce serait plutôt ça !!!
Mais comment le faire sous base ?
On ne peut pas ! On ne fait pas de cosmétique avec un SGBD à moins que l'objectif soit :
  1. de pourrir les performances du serveur
  2. de rendre impossible sa maintenance
jeanmimi a écrit :mais plutôt de l'équivalent de Transpose dans Calc
Dans ce cas, on utilise Calc tout simplement.
Il sait se connecter à la base et saura faire ce genre de cosmétique.

Merci d'ajouter [Résolu] au début du titre de ton 1er message et de cocher la case de l'icône de sujet (le V vert).
Verrouillé