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 Server 7] Renommage de champs


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut [SQL Server 7] Renommage de champs
    Bonjour,

    J'ai une requête qui, actuellement, me retourne cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    NOM_ETU------NOTE ----LIBELLE_EVALUATION------NOMBRE_EVALUATION
    ----------------------------------------------------------------------
    etudiant_1    10              TD                   1
    etudiant_1    12              TP                   2
    etudiant_1    10,5           TP                   2
    J'aimerai supprimer un champ, au lieu d'avoir le libellé de l'évaluation et le nombre d'évaluations de ce type, avoir quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    NOM_ETU--------NOTE ------------LIBELLE_EVALUATION
    --------------------------------------------------------------------
    etudiant_1------10   ---------------TD
    etudiant_1------12 -----------------TP 1
    etudiant_1------10,5 ---------------TP 2
    Voilà, j'espère m'etre fait comprendre (pas sur... )
    Je crains que cela ne soit possible en SQL, comment vous y prendrez vous ?

  2. #2
    Membre averti
    Avatar de mohamed
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 217
    Points : 393
    Points
    393
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT NOM_ETU,NOTE,EVALUATION = LIBELLE_EVALUATION+' '+NOMBRE_EVALUATION
    FROM
    TATABLE
    [/code]

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut
    Merci mohamed
    Mais ca ne marche pas, et puis de toutes facons ce ne fera pas ce que je cherche a faire.

    En gros voila ce que je cherche à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    si nombre_evaluation différent de 1
           de i=1 à nombre evaluation faire
                 libelle_evaluation = libelle + ' ' + i
    Peut etre que je devrais insérer chaque libellé dans une table temporaire avec un identifiant, et ensuite faire ma requête

    Je suis un peu perdu

  4. #4
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Je ne suis pas sur d'avoir tout compris, mais tu pourrait peut être te servir des CASE:

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select 'TEST' =CASE 
    		WHEN NUMERO_AGENT<10 THEN LIBELLE_AGENT+' Raté'
    		WHEN NUMERO_AGENT>=10 AND NUMERO_AGENT<20 THEN LIBELLE_AGENT+' Ok'
    		ELSE 'non trouvé'
    	END
    from agent

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut
    Bon je vais essayer de réexpliquer parce que je vois que mon problème n'est pas très clair

    Si, dans ma colonne libelle_evaluation, j'ai 4 lignes 'TP', j'aimerai, au lieu de 4xTP, avoir TP 1, TP 2, TP 3, TP 4.
    Mais je peux en avoir 1 (dans ce cas, mettre uniquement 'TP' et pas 'TP 1'), ou 2, ou 3...

    C'est plus clair la ?

  6. #6
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Au lieu d'avoir 4 lignes d'une colonne TP, tu voudrait avoir 4 colonnes et une seule ligne :

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut
    Non, le nombre de lignes reste identique

    Je recommence

    Au lieu de ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    etudiant        note        libelle_evaluation      nombre_evaluation
    --------------------------------------------------------------------------
    etudiant1       10                   TD                          1
    etudiant2       12                   TD                          1
    etudiant1       15,5                 TP                          3
    etudiant1       8                    TP                          3
    etudiant1       11,5                 TP                          3
    etudiant2       11                   TPNE                        2
    etudiant2       13                   TPNE                        2
    Je voudrais changer la valeur de libelle_evaluation :
    - si nombre_evaluation = 1, ne pas changer le libelle
    - si nombre_evaluation > 1, alors changer les libellés. Par exemple, il y a 3 TP (et 2 TPNE), au lieu d'avoir 3 fois TP comme libellé, je voudrais avoir une ligne avec TP 1, une autre avec TP 2 et une autre avec TP 3 (ce qui ne change donc pas le nombre de lignes, pareil pour TPNE)

    Ca donnerait donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    etudiant------note-------libelle_evaluation
    -----------------------------------------------
    etudiant1      10                   TD
    etudiant2      12                   TD
    etudiant1      15,5                 TP 1
    etudiant1      8                    TP 2
    etudiant1      11,5                 TP 3
    etudiant2      11                   TPNE 1
    etudiant2      13                   TPNE 2
    Ou quelque chose qui y ressemble.
    Seulement je ne pense pas que cela soit possible en une seule requête.

    La je pense que j'ai fait mon maximum au niveau des explications

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut
    Bon ben voila, j'ai réussi à faire ce que je voulais, je vous explique comment j'ai fait, même si personne n'a compris mon problème

    Création de procédure, déclaration de curseur, création d'une table temporaire, petit algorithme sympa, requête finale...

    J'ai pas trouvé plus simple

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 28/07/2006, 17h38
  2. [SQL SERVER ] Tri sur plusieurs champs
    Par fantomchris dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/07/2006, 17h59
  3. [SQL Server] Quel type de champ pour du commentaire
    Par brmartin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 24/07/2006, 12h51
  4. [SQL Server] Update d'un champs ntext
    Par Poussy-Puce dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/02/2006, 14h16
  5. [SQL Server] Petit probleme de champ
    Par Diablo_22 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/06/2005, 11h05

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