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 :

requete avec nombre de colonne inconnu


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 40
    Points
    40
    Par défaut requete avec nombre de colonne inconnu
    Bonjour,
    Je travail avec sqlserver2008,J'ai module contient plusieurs matières,
    Table MATIERE(id_ma,libelle_ma,id_module)
    11_____matière1_____1
    12_____matière2_____1
    13_____matière3_____2
    Etudiant(id_etudiant,....)
    Examen(id-etudiant,id_ma,note)
    je veux avoir (id_etudiant,note_matière1,Note_matière2)
    c'est à dire une gridview qui contient les notes des étudiants pour les matières d'un module donné
    id_etudiant.......matière1.....matière2
    2012________________11,5________13,5
    2013_________________19__________17

    comment avoir ce résultat si je connais pas les matières d'un module (elles peuvent changer)
    Merci

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 046
    Points
    34 046
    Billets dans le blog
    14
    Par défaut
    Ce que tu cherches à faire est de la cosmétique et n'est pas le boulot de SQL mais celui du langage de programmation de l'application qui interroge la BDD.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 40
    Points
    40
    Par défaut
    Bonjour,
    merci CinePhil mais je voie qui j'ai toujours pas réussi à expliquer mon problème
    dans l'exemple on connait CA_T1 , CA_T2, CA_T3, CA_T4 moi non le CA_T1 change on peut avoir cette année 4matière dans un module l'an prochain 3matière dans ce cas comment afficher les CA_T1 pour moi (libellé_matière) si je connais pas leurs nombre mais je connais qu'il appartiennent à un module donné.
    Merci

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 046
    Points
    34 046
    Billets dans le blog
    14
    Par défaut
    Ça manque cruellement de ponctuation dans ton message pour qu'il devienne suffisamment compréhensible !

    De plus, tu y aparles de CA (chiffre d'affaire ?) alors que dans le premier message tu parles de notes et d'élèves !

    je voie qui j'ai toujours pas réussi à expliquer mon problème
    Effectivement !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 40
    Points
    40
    Par défaut

    Bonsoir,
    CA c'est dans le lien que vous m'avez donné ,moi je travail avec les matières.
    Pour chaque semestre ya un ensemble de modules étudiés et chaque module contient plusieurs matières.
    Le problème c'est que les modules et les matières ne sont pas fixes ,il se peut qu'un an on les changes .
    Donc puisque je connais pas le nombre de matières avenir pour un module ,je galère avec l'affichage des notes en ce format:
    Note_matière1_____note_matière2.......(ou matière1 et matière2 appartiennent au module1 par exemple).
    Or dans l'article que vous m'avez donné on connait le nombre de CA .
    Espérant avoir réussi a expliquer mon problème.
    Merci.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 046
    Points
    34 046
    Billets dans le blog
    14
    Par défaut
    Encore une fois, la présentation que tu cherches à obtenir est de la cosmétique et n'est pas le boulot du SQL !

    SQL te donnera les notes en colonne. Il est relativement simple ensuite de traiter ce résultat avec un langage de programmation pour faire la présentation que tu souhaites.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 40
    Points
    40
    Par défaut
    Bonjour,
    J'ai essayé cette requete et sa marche
    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
    DECLARE @listCol VARCHAR(2000)
    DECLARE @query VARCHAR(4000)
     
    SELECT  @listCol = STUFF(( SELECT distinct  '], [' + MATIERE.[CODE_MATIERE] where cde_mdule....
                               FROM     EXAMEN inner join MATIERE on EXAMEN.CODE_MATIERE= MATIERE.CODE_MATIERE group by CODE_MODULE ,MATIERE.CODE_MATIERE 
                             FOR
                               XML PATH('')
                             ), 1, 2, '') + ']'
     
     
    SET @query = 'SELECT * FROM
          (SELECT CODE_MODULE,  EXAMEN.[CODE_MATIERE], [NOTE]
                FROM EXAMEN  inner join MATIERE on EXAMEN.CODE_MATIERE= MATIERE.CODE_MATIERE
                ) src
    PIVOT (SUM(NOTE) FOR CODE_MATIERE
    IN (' + @listCol + ')) AS pvt'
     
     
    EXECUTE ( @query )

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/02/2012, 13h16
  2. Comment Créer une vue avec nombre de colonnes inconnu d'avance ?
    Par masterx_goldman dans le forum Développement
    Réponses: 3
    Dernier message: 21/10/2009, 17h28
  3. Table avec nombre de colonnes en paramètre
    Par segovia dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 14/08/2007, 08h41
  4. JTable avec nombre de colonne dynamique
    Par fileaxfog dans le forum Composants
    Réponses: 3
    Dernier message: 17/05/2007, 14h07
  5. Pb requete avec union et colonne maximale
    Par Karibou dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 02/09/2005, 11h53

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