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 :

Nommer dynamiquement un champ d'une requête [2008R2]


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut Nommer dynamiquement un champ d'une requête
    Bonsoir,

    j'aimerais savoir s'il y a moyen de nommer un champ dans une requête selon la valeur d'une variable.

    par exemple:

    si j'ai la variable J varie de 0 à 10, pour chaque valeur, je vais ajouter un champ nommé 'CHAMP0', 'CHAMP1' et ainsi de suite.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Si tu te poses ce genre de question, c'est sans aucun doute que ta base est mal modélisée.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Bonsoir Ali

    Merci pour ta réponse. est ce que tu peux m'aider, en te communiquant les plus amples information. j'ai la BDD illustrée ci-dessous par l'image. mon souhaits c'est de trouver une requête qui me regroupe le nb de STATUS par NIVABS (pour le même status, je veux avoir son occurrence par NIVABS (de 1 jusqu'au max de NIVABS), aussi je veux nommer les champs issues comme suivant: NIVABS1, NIVABS2...NIVABS(i) ==> i est le max de NIVABS.

    j'ai passé par cette solution de curseur, mais ça me renvoi le msg d'erreur:

    Msg 208, Level 16, State 1, Line 1
    Invalid object name 'Date_rappel'.


    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
    16
    17
    18
    19
    20
    21
    22
    declare c cursor  for select distinct NIVABS  from Date_rappel order by NIVABS
    declare @pivot varchar(200), @count varchar(200), @sql nvarchar(1000), @col int
     
    select @pivot='',  @count=''
     
    open c
    fetch c into @col
    while @@FETCH_STATUS = 0
    	begin
    	select @count = @count + ' count(['+ cast(@col as varchar(30)) +']) AS ['+ cast(@col as varchar(30)) +'],',
    		   @pivot = @pivot + ' ['+ cast(@col as varchar(30)) +'], '
    	fetch c into @col
    	end
    close c
    deallocate  c
     
    set @sql = 'SELECT Campagne, '+ left(@count, len(@count)-1)+ 
    			' FROM Date_rappel PIVOT (count(*) 
    			FOR NIVABS IN ('+ left(@pivot, len(@pivot)-1)+ ')) AS Tentative
    			GROUP BY Campagne'
     
    exec(@sql)
    Nom : Sans titre1.jpg
Affichages : 316
Taille : 52,0 Ko

    certes, je peux passer par un select avec un count puis pivoter tout sur excel, mais si il y aura une requete directe ça serait parfait.

    PS: je suis débutant sur sql

    merci d'avance pour ton aide précieuse

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Tu as utilisé le bon mot : pivoter.
    Regarde la clause PIVOT...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    je vais creuser dans cette clause et je reviendrais vers toi

    merci

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    bonjour Ali,

    malheureusement je n'ai pas pu découvrir la faille. j'avoue que je suis débutant et un utilisateur des bases sql mais pas un développeur.

    je te remercie pour ton aide

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/10/2005, 17h13
  2. Champs d'une requête et Colonne d'une grille rattaché
    Par Andry dans le forum Bases de données
    Réponses: 4
    Dernier message: 11/10/2005, 09h39
  3. Pb de type de champs dans une requête
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/05/2005, 15h19
  4. Changement valeur d'un champ dans une requête
    Par Mimile28 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/04/2005, 14h28
  5. [SQL] Renommer un champ dans une requête
    Par martonpylon12 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 15/11/2003, 01h59

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