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

Développement SQL Server Discussion :

Plusieurs colonnes sur une même ligne


Sujet :

Développement SQL Server

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 56
    Points : 38
    Points
    38
    Par défaut Plusieurs colonnes sur une même ligne
    Bonjour,

    Je suis certain que mon problème est classique mais je n'arrive tout de même pas à y trouver une solution ....

    J'ai une table sous ce format

    UserID,id_info,Done
    1, 5, True
    1, 6, True
    1, 7, False
    2, 5, True
    2, 6, False
    2, 7, False

    Je voudrais bien entendu l'afficher sous cette forme.

    UserID,id_info1,Done1,id_info2,Done2,id_info3,Done3
    1 , 5 , True ,6 ,True ,7 ,False
    2 , 5 , True ,6 ,False ,7 ,False

    J'ai vu des exemples (pivot etc.. ) avec une table en 2 colonne, mais je n'arrive jamais a obtenir ce résultat avec 3 colonnes qui en devient 7

    Il y n'auras jamais plus de 3 id_info par User_ID

    Si vous avez une idée, je suis preneur

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT 
        UserID,
        5 AS id_info1, -- ou MAX(CASE WHEN id_info = 5 THEN 5 END) ,
        MAX(CASE WHEN id_info = 5 THEN Done END) AS Done1,
    	6 id_info2,
        MAX(CASE WHEN id_info = 6 THEN Done END) AS Done2 ,
        7 AS id_info2,
        MAX(CASE WHEN id_info = 7 THEN Done END) AS Done2        
    FROM LaTable
    GROUP BY UserID

Discussions similaires

  1. Plusieurs colonnes sur une même ligne
    Par LBO72 dans le forum SQL
    Réponses: 4
    Dernier message: 16/02/2011, 15h33
  2. [AC-2000] obtenir plusieurs enregistrements sur une même ligne
    Par woant dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 14/05/2009, 17h31
  3. comment écrire plusieurs instructions sur une même ligne ?
    Par Ekimasu dans le forum Général Python
    Réponses: 3
    Dernier message: 31/10/2008, 10h30
  4. [awk] Utiliser plusieurs FS sur une même ligne
    Par novices dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 06/08/2008, 18h45
  5. [Tableaux] plusieurs tableaux sur une même ligne
    Par zugolin dans le forum Langage
    Réponses: 6
    Dernier message: 12/01/2008, 23h29

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