Fusionner/Concatener lignes SQL
Résolu
MontSouris
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
MontSouris -
MontSouris -
Bonjour à tous,
J'aimerais pouvoir fusionner des lignes de ma requête en fonction de l'ID.
Voici ci-dessous un schéma de ma table et ce que j'aimerais avoir au final:
Ma table actuelle :
1 2 3 4 X X X
1 3 4 5 X X X
1 3 4 6 X X X
=> ce que j'aimerais avoir
1 2 3 4 5 6 X X X
J'ai essayé de faire un GROUP BY ou de concatener mais rien n'y fait.
Merci d'avance pour vos réponses!
MS
J'aimerais pouvoir fusionner des lignes de ma requête en fonction de l'ID.
Voici ci-dessous un schéma de ma table et ce que j'aimerais avoir au final:
Ma table actuelle :
1 2 3 4 X X X
1 3 4 5 X X X
1 3 4 6 X X X
=> ce que j'aimerais avoir
1 2 3 4 5 6 X X X
J'ai essayé de faire un GROUP BY ou de concatener mais rien n'y fait.
Merci d'avance pour vos réponses!
MS
A voir également:
- Sql concaténer plusieurs lignes
- Concatener deux cellules excel - Guide
- Inverse de concatener excel ✓ - Forum Excel
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Contraire de concatener ? ✓ - Forum Bureautique
- Excel - Inverse de Concatenate ✓ - Forum Excel
La mise en page de ma table dans mon exemple n'a pas marché. Ci-dessous, une maquette un peu plus explicite :
______Col 1__Col 2__Col 3__Col 4__Col 5__Col 6
L1_____1____2_____3_____4____Null____Null
L2_____1____2_____3____Null_____5____Null
L3_____1____2_____3____Null___Null_____6
______Col 1__Col 2__Col 3__Col 4__Col 5__Col 6
L1_____1_____2_____3_____4_____5_____6
Quand j'effectue un left join entre mes deux tables, ma requête me retourne des doublons sur les colonnes 1, 2 et 3 et rajoute une valeur distincte pour les colonnes 4, 5 et 6 sur trois lignes.
J'aimerais pouvoir tout avoir sur la même ligne et ainsi supprimer les doublons. J'ai essayé avec un select distinct mais ça ne marche pas visiblement.
Merci d'avance pour ta réponse,
MS
Par contre je ne comprends pas, tu as 2 tables ? Le premier tableau dessiné et le deuxième ?
Moi, j'aimerais arriver au résultat de la table du dessous, c'est-à-dire concatener les valeurs identiques sans les dupliquer, et reprendre les valeurs distinctes sur une seule et même ligne.
Afin de fusionner les lignes en doublons mais conserver les valeurs distinctes sur la même ligne, j'utilise la fonction GROUP BY. Elle m'impose donc d'ajouter des agrégats.
Cependant, mes données sont en varchar. Calculer un max, min ou sum sur un format texte devient donc totalement illogique. A ce niveau là, ma requête plante.
As-tu une idée du problème ou comment le résoudre? J'ai cru comprendre qu'un CONVERT pourrait éventuellement m'aider mais je ne sais pas trop par où commencer.
Merci pour ton aide,
MS
Quelques éléments de réponses ici
https://forum.hardware.fr/hfr/Programmation/SGBD-SQL/sql-regrouper-donnees-sujet_67624_1.htm
et ici
https://sql.sh/cours/group-by
Sinon tu peux gérer ça avec un curseur je pense.