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

MS SQL Server Discussion :

Sql serveur 2000: Résultat sur une ligne


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Sql serveur 2000: Résultat sur une ligne
    Bonjour,

    J'ai une petite question. J'aimerais afficher un resultat sql sur une ligne avec un séparateur. Je m'explique:

    'Select marque from voiture' me retourne par exemple:

    BMW
    RENAULT
    PEAUGEOT
    ....

    Et j'aimerais avoir le résultat sur une ligne comme:

    BMW,RENAULT,PEAUGEOT,...

    Si vous avez une piste pour y arriver ou une solution, je suis prenneur.


    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Je pense qu'il te faudra utiliser un curseur. Puis effectuer une concaténation de variable. Attention la taille d'un varchar ne peut pas excéder 8000 caractères.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    declare @res varchar(8000)
    declare @var varchar(80)
    set @res=''
    declare monCurseur cursor for select marque from voiture
    open monCurseur 
    fetch next from monCurseur into @var 
    while @@fetch_status=0
    begin
    set @res=@res+','+@var
    fetch next from monCurseur into @var 
    end 
    close monCurseur
    deallocate monCurseur
    print @res
    C'est un exemple de code simplié.
    Bon courage pour la suite.

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Vous pouvez également le faire sans curseur :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    declare @res varchar(8000);
     
    set @res='';--A ne pas oublier
    Select  @res=@res + ','
    from t_table;
     
    select @res;

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  4. #4
    Futur Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merci Wolo, ca fonctionne parfaitement. (merci aussi madinico)

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

Discussions similaires

  1. Groupement de résultats sur une ligne
    Par Korgard dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/06/2012, 15h56
  2. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20
  3. taille max des bases sur sql serveur 2000
    Par timsah dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 15/02/2006, 16h07
  4. [SQL serveur] [debutant] requette sur une seule table
    Par glanumf dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/02/2006, 15h27
  5. Supprimer une colonne sous SQL Serveur 2000
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/07/2003, 12h24

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