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 :

Renommer le titre de colonnes par la 1ere ligne


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Résolu] Renommer le titre de colonnes par la 1ere ligne
    Bonjour,

    J'ai une table Infos de ce type :

    Noms colonnes:Col001 Col002 Col003
    1ere ligne : Nom Prenom Micro
    2eme ligne: Dupont Jean p4

    Et je souhaite pouvoir renommer les titres des colonnes par les champs de la 1ere ligne.
    J'ai essayé cette commande qui ne fonctonne pas :
    "create table NouvelleTable as
    select * from infos where col001='Nom';"


    Je suis sous sql server et je ne suis pas arrivé non plus à mettre en place de procédure stockée.

    Voilà si qq'un peut m'aider, j'en serais très reconnaissant.

    Merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 36
    Points : 37
    Points
    37
    Par défaut
    hello.
    ca y est, je pense avoir réussi à faire ce que tu veux :
    voici la req ...

    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
    23
    24
    25
    26
    27
    28
     
    declare @X as int
    declare @champs_anc as  varchar(255)
    declare @champs_new as  varchar(255)
    declare @ma_requ  varchar(255)
     
    set @X =1 
    while @X <= 4   --> 4 = Nombre de champs de ta table à toi de le changer
    begin
    	--recupération du nom de ton champs
    	drop table  __tempo_champs_anc
    	set @ma_requ = '(select  name into __tempo_champs_anc from syscolumns where id = (select id from dbo.sysobjects where name like ''__tempO'') and colid =' +  convert(char(5),@X) + ')'
    print 	@ma_requ + '1'
    execute  (@ma_requ)
    	set @champs_anc = (select* from __tempo_champs_anc)
    	--recupération de la valeur du premier champs
    	drop table  __tempo_champs_new
    	set @ma_requ = 'select top 1 ' + @champs_anc + ' into __tempo_champs_new from __tempO'
    print 	@ma_requ + '2'
    	execute (@ma_requ)
    	set @champs_new =  (select * from __tempo_champs_new)
     
     
     
    	set @ma_requ = 'sp_rename ''__tempO.' + @champs_anc + ''', ''' + @champs_new + ''',''column'''
    	exec (@ma_requ)
    set @X = @X + 1
    END

    pense à modifier le nombre de champs à modifier (ici 4), et le nom de ta table (là, je l'ai appelé __tempO)
    En fait, le principe est :
    je met le nom du champs dans une variable (ici une table temp car faute de temps...)
    je met le nom de mon premier tuple correspondant à ce premier champs
    -> j'utilise la fonction sp_rename 'ancienchamps', 'newchamps', 'columns',
    puis je boucle sur tous les chmaps en fonction du nombre de champs de ta table ...

    Et voili !!!

    A+

  3. #3
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    J'ai juste une petite question : c'est quoi la première ligne d'une table dans un sgbdr ?
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 36
    Points : 37
    Points
    37
    Par défaut
    le premier tuple ... ?

  5. #5
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    le premier tuple ... ?
    Justement, c'est quoi "le premier tuple ... ?", c'est une notion qui n'existe pas en sql (en fait en relationnel), tant que l'on a pas un order by.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci jcharleszoxi !

    C'est nickel, j'ai pu adapter ta procédure comme j'en avais besoin.

    Je te remercie vraiment d'avoir passé un peu de temps sur mon problème

    Thanks

  7. #7
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 36
    Points : 37
    Points
    37
    Par défaut
    De nada !

    pense à mettre résolu alors.

    A++

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

Discussions similaires

  1. Modifier les titres des colonnes par vba
    Par jmde dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 24/12/2009, 16h26
  2. Réponses: 1
    Dernier message: 30/06/2009, 12h03
  3. Réponses: 2
    Dernier message: 27/06/2008, 11h57
  4. [VB6] Titre de colonne sur 2 lignes
    Par falbalaa dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/02/2004, 20h46
  5. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19

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