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

SQLite Discussion :

Regrouper des données issues de colonnes différentes si .


Sujet :

SQLite

  1. #1
    Candidat au Club
    Femme Profil pro
    Webplanneur
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Regrouper des données issues de colonnes différentes si .
    Bonjour à tous,


    Je voudrais (je veux même accéder et mettre en forme quelques données d'une base Sqlite existante :

    La Table 1 contient entre autres un champ "Ville" :

    Ville
    Lyon
    Rennes
    Marseille
    La Table 2 contient entre autres un champ "Prénom" (et aussi le champ Ville) :
    Ville         Nom
    
    Lyon      Pierre
    Rennes       Pierre
    Rennes       Paul
    Marseille    Jacqueline
    Rennes       Fanchig
    Marseille     Annie
    et je souhaite regrouper les lignes pour obtenir :

    Lyon          Pierre
    Rennes            Pierre, Paul, Fanchig
    Marseille          Jacqueline, Annie
    Pour l'instant je ne sais faire que :

    Lyon        Pierre
    Rennes          Pierre
    Rennes          Paul
    Rennes          Fanchig
    Marseille        Jacqueline
    Marseille        Annie
    en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql = "SELECT T2.Nom, T1.Ville, T2.Ville
    FROM Table1 AS T1
    INNER JOIN Table2 AS T2 ON T1.Ville=T2.Ville
    GROUP BY T1.Ville ";
    merci du coup de main (pour regrouper les données de la ville de Marseille sur une seule ligne) !
    phouphou

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    Bonjour,

    Un fonction très utile pour ta demande est group_concat

    Donc j'écrirais ta requête ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T1.Ville, group_concat(t2.prenom, ', ')
    FROM Table1 AS T1
    JOIN Table2 AS T2 ON T1.Ville=T2.Ville
    GROUP BY T1.Ville
    NB. L'ordre d’apparition des prénoms n'est jamais garanti

    Cordialement

  3. #3
    Candidat au Club
    Femme Profil pro
    Webplanneur
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour Acaumes,
    Bonjour à tous,

    merci beaucoup pour cette suggestion : je souhaitais attendre de tester avant de te remercier ... mais notre serveur associatif fait des siennes et suis donc contraint de patienter ...

    Je viens faire un compte-rendu dès que possible

    Cordialement

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    si la table 2 contient la colonne ville je ne voit pas trop l'utilité de la jointure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Ville,GROUP_CONCAT(Prenom,', ') FROM TABLE2
    GROUP BY Ville
    fonctionnera tout aussi bien , avec les mêmes réserves sur l'ordre des prénoms
    et si bien sûr il n'y a pas d'autres colonnes impliquées
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/08/2015, 17h19
  2. Réponses: 5
    Dernier message: 14/06/2013, 15h09
  3. Réponses: 2
    Dernier message: 06/06/2010, 15h15
  4. regrouper des données en colonne
    Par antakini dans le forum Access
    Réponses: 4
    Dernier message: 24/11/2006, 14h35
  5. [ADO.Net][VB.NET] Comment copier des données entre deux BDD différentes ?
    Par maddog2032 dans le forum Accès aux données
    Réponses: 6
    Dernier message: 06/06/2005, 11h01

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