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 :

Colonne avec plusieurs valeurs


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Colonne avec plusieurs valeurs
    Bonjour,

    J'ai une table qui à la forme suivante:

    Ma_Table
    -----------
    *************
    UID * GROUPE *
    *************
    toto * gpr1 *
    toto * gpr2 *
    titi * gpr2 *
    titi * gpr3 *
    *************
    et je voudrait obtenir avec un select ou autre, une vue ou une table de la forme:

    *****************
    UID * GROUPE *
    *****************
    toto * gpr1, gpr2 *
    titi * gpr2, gpr3 *
    *****************

    Quelle requête effectuée pour avoir ce résultat ?

    Merci d'avance.

    neliam

  2. #2
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Il s'agit là d'effectuer de la cosmétique a mon sens or ce n'est pas le but du SQL.
    C'est pas parce que ca marche que c'est bon!!
    Pensez au bouton "Résolu"
    Je ne réponds pas en privé aux questions

  3. #3
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT AA.UID,AA.GROUPE ||','||BB.GROUPE
    (SELECT UID,GROUPE FROM Ma_Table)AA
    (SELECT UID,GROUPE FROM Ma_Table)BB
    WHERE AA.UID=BB.UID

    Bonne chance
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  4. #4
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par boussafi Voir le message
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select distinct AA.UID,AA.GROUPE ||','||BB.GROUPE
    (select UID,GROUPE from Ma_Table)AA
    (select UID,GROUPE from Ma_Table)BB
    where AA.UID=BB.UID
    Bonne chance

    Attention ca marche uniquement quand tu as que 2 valeurs et pas plus
    C'est pas parce que ca marche que c'est bon!!
    Pensez au bouton "Résolu"
    Je ne réponds pas en privé aux questions

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par miloux32 Voir le message
    Attention ca marche uniquement quand tu as que 2 valeurs et pas plus
    Merci pour vos réponses rapides !

    Y a t 'il d'une part un moyen de supprimer la virgule si la requête retourne un seul groupe ou aucun et d'autre part, comment faire si il y a trois groupes différent pour un même UID ?

  6. #6
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par neliam Voir le message
    Merci pour vos réponses rapides !

    Y a t 'il d'une part un moyen de supprimer la virgule si la requête retourne un seul groupe ou aucun et d'autre part, comment faire si il y a trois groupes différent pour un même UID ?
    ben le problème pour plus de groupes c'est que tu mettre un union pour chaque item , donc c'est pas flexible du tout , c'est bien pour ca que je te dis que c'est de la cosmétique (affichage et mise en page ) et que SQL n'est pas fait pour ça !
    C'est pas parce que ca marche que c'est bon!!
    Pensez au bouton "Résolu"
    Je ne réponds pas en privé aux questions

  7. #7
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    reBonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DISTINCT (AA.UID),  AA.GROUPE_AA +","+BB.GROUPE 
    FROM 
    [SELECT UID,min( GROUPE)as groupe_AA
    FROM Ma_Table
    group by UID]. AS AA, 
     
    [SELECT UID,GROUPE 
    FROM Ma_Table]. AS BB
     
    where aa.uid=bb.uid
    and AA.groupe_AA<>BB.groupe
    testé avec msaccess


    pour oracle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DISTINCT AA.UID,  AA.GROUPE_AA||','||BB.GROUPE 
    FROM 
    (SELECT UID,min( GROUPE) groupe_AA
    FROM Ma_Table
    group by UID) AA, 
     
    (SELECT UID,GROUPE 
    FROM Ma_Table) BB
     
    where AA.uid=BB.uid
    and AA.groupe_AA<>BB.groupe



    Bonne chance
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par boussafi Voir le message
    reBonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DISTINCT (AA.UID),  AA.GROUPE_AA +","+BB.GROUPE 
    FROM 
    [SELECT UID,min( GROUPE)as groupe_AA
    FROM Ma_Table
    group by UID]. AS AA, 
     
    [SELECT UID,GROUPE 
    FROM Ma_Table]. AS BB
     
    where aa.uid=bb.uid
    and AA.groupe_AA<>BB.groupe
    testé avec msaccess


    pour oracle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DISTINCT AA.UID,  AA.GROUPE_AA||','||BB.GROUPE 
    FROM 
    (SELECT UID,min( GROUPE) groupe_AA
    FROM Ma_Table
    group by UID) AA, 
     
    (SELECT UID,GROUPE 
    FROM Ma_Table) BB
     
    where AA.uid=BB.uid
    and AA.groupe_AA<>BB.groupe



    Bonne chance

    Merci beaucoup boussafi,

    je vais tester cà.

  9. #9
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    rebonjour
    veuillez nous informer si ça a donné de resultat;
    merci
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 37
    Points : 22
    Points
    22
    Par défaut solution
    Salut

    je travaille avec neliam et on a utilisé :

    select uid, array_to_string(array(SELECT lib_groupe etc ......

    et ca marche niquel
    Si vous voulez la requete exacte (mais qui ne vous apportera pas forcément quelque chose en plus) faites signe

    merci de votre aide

  11. #11
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    merci de penser au tag , cela permet aux autres membres de gagner du temps.
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

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

Discussions similaires

  1. [2005] Colonne avec plusieurs valeurs
    Par taibag dans le forum Développement
    Réponses: 8
    Dernier message: 12/11/2013, 13h42
  2. Update d une table avec plusieurs valeurs
    Par Nadaa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2006, 08h58
  3. [Excel] Filtre de colonne avec la valeur d'une cellule
    Par repié dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2006, 14h58
  4. Trier une colonne avec des valeurs numériques ou textes
    Par jfc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/02/2006, 11h15
  5. case/when avec plusieurs valeurs pour le then
    Par Neo41 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2005, 15h58

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