IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

requete SQL pour concatener les valeurs d'une colonne


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut requete SQL pour concatener les valeurs d'une colonne
    Bonjour,

    J'ai une table T1 qui a les enregistrements comme suit:

    la creation de la table T1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE TABLE T1 (
    id INT AUTO_INCREMENT,
    C1 INT NOT NULL,
    C2 VARCHAR(10) NOT NULL,
    C3 FLOAT NOT NULL,
    PRIMARY KEY(id)
    );
    les enregistrements sont:

    __id___C1____C2_____C3_
    1 | 1 | SOM | 33 |
    2 | 1 | LAM | 39 |
    3 | 1 | DOU | 48 |
    4 | 1 | PAL | 41 |
    5 | 2 | ETH | 52 |
    6 | 2 | YEM | 10 |
    7 | 2 | MAR | 28 |
    8 | 3 | SOU | 37 |
    9 | 4 | INDO | 67 |
    _______________________

    Je voudrais regrouper dans une seule ligne les enregistrements pour C1.
    les 4 premiers enregistrements concernent C1 = 1
    les 3 enregistrements suivants concernent C1 = 2
    l'enregistrement suivant concerne C1 = 3
    le dernier enregistrement concerne C1 = 4

    le résultat souhaité est une table T2 qui a la structure suivante:

    ___C1___________C2__________C3___
    1 | SOM, LAM, DOU, PAL | 161 |
    _________________________________|
    2 | ETH, YEM, MAR | 90 |
    _________________________________|
    3 | SOU | 37 |
    _________________________________|
    4 | INDO | 67 |
    _________________________________|

    tel que C3 de T2 = somme des C3 de T1 pour C1 donné
    C2 de T2 = valeurs de C3 séparées par une virgule de T1 pour C1 donné.

    C3 pour C1 = 1 est 33 + 39 + 48 + 41 = 161

    C3 pour C1 = 2 est 52 + 10 + 28 = 90

    ... etc

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Il s'agit là de cosmétique, qui n'est pas le but du langage SQL. C'est à l'application de se charger de la mise en forme des données.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    J'ai réglé mon problème par programmation en php.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Commande SQL pour afficher les résultats d'une lettre
    Par floctc dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/04/2009, 11h37
  2. Réponses: 2
    Dernier message: 07/07/2008, 18h24
  3. requete sql pour vider le contenu d'une colonne d'une table
    Par Sheppard38 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 26/06/2007, 14h20
  4. requete pour compter les valeurs ds une colonne
    Par smariteau dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/02/2006, 17h37
  5. Requete sql pour création de table dans une base access
    Par Ben156 dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/01/2006, 22h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo