Fusionner/Concatener lignes SQL
Résolu/Fermé
MontSouris
Messages postés
8
Date d'inscription
jeudi 5 novembre 2015
Statut
Membre
Dernière intervention
25 juillet 2016
-
25 juil. 2016 à 10:27
MontSouris - 2 août 2016 à 19:12
MontSouris - 2 août 2016 à 19:12
A voir également:
- Sql concaténer plusieurs lignes
- Sql (+) - Forum Programmation
- Concatener deux cellules excel - Guide
- Inverse de concatener ✓ - Forum Excel
- Concaténer pdf - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
2 réponses
Danelectro
Messages postés
1737
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 mars 2018
370
25 juil. 2016 à 10:28
25 juil. 2016 à 10:28
Un peu bizarre, je ne comprends pas bien ce que tu veux faire.
Un SELECT DISTINCT peut etre ?
Un SELECT DISTINCT peut etre ?
Modifié par MontSouris le 26/07/2016 à 11:14
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
26 juil. 2016 à 15:16
Par contre je ne comprends pas, tu as 2 tables ? Le premier tableau dessiné et le deuxième ?
26 juil. 2016 à 17:36
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
28 juil. 2016 à 15:09
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.
2 août 2016 à 19:12