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
    Membre averti
    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
    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 chevronné
    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
    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é.

  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 : 48
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    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
    Membre averti
    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
    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