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 :

[Informix] Recherche d'élève avec note donnée sur une période


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 51
    Par défaut [Informix] Recherche d'élève avec note donnée sur une période
    Bonjour
    j'ai une simple table Note :

    | Nom | Prenom | DateNote | Note |

    je veux extraire les noms et les prénoms des étudiants qui n'ont pas pu avoire la myenne dans la période "01/01/2003" "31/12/2007" et qui ont pu avoire la moyen au moins un fois apres la date "01/01/2008".
    La solution suivante ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
         Select Nom,Prenom  
                  from Note
                  where Nom,Prenom IN ( Select Nom,Prenom   From Note 
                                                 where Note <= "10" 
                                                  and DateNote >="01/01/2003"
                                                  and DateNote <="31/12/2007" ) 
                   AND Note >= "10" 
                   AND DateNote >="01/01/2008"
    Je veux une solution simple sans programme ni table intermédiaire

    Merci d'avance

  2. #2
    Scorpi0
    Invité(e)
    Par défaut
    Bonjour,

    La solution suivante ne marche pas
    Pourrait-tu être plus précis. La requête ne te renvoie pas le résultat escompté (alors, poste nous le jeu de données et le résultat escompté), ou obtiens-tu une erreur (alors, poste nous l'erreur obtenu) ?

    De plus, quel est ton SGBD ? Oracle, MySQL ?..
    Enfin, à tout hasard, le champ DateNote est-il bien un type Date ?

  3. #3
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    il manque déjà à mon avis des parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
         SELECT Nom,Prenom  
                  FROM Note
                  WHERE (Nom,Prenom) IN ( SELECT Nom,Prenom   FROM Note 
                                                 WHERE Note <= "10" 
                                                  AND DateNote >="01/01/2003"
                                                  AND DateNote <="31/12/2007" ) 
                   AND Note >= "10" 
                   AND DateNote >="01/01/2008"
    de plus, le format de la date me semble bizarre

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 51
    Par défaut
    Citation Envoyé par Cybher Voir le message
    salut,

    il manque déjà à mon avis des parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
         SELECT Nom,Prenom  
                  FROM Note
                  WHERE (Nom,Prenom) IN ( SELECT Nom,Prenom   FROM Note 
                                                 WHERE Note <= "10" 
                                                  AND DateNote >="01/01/2003"
                                                  AND DateNote <="31/12/2007" ) 
                   AND Note >= "10" 
                   AND DateNote >="01/01/2008"
    de plus, le format de la date me semble bizarre
    Même avec les parenthèses, j'ai toujour le message 201: A syntax error has occurred. et le curseur pointe sur la vigule .

    Merci pour l'aide

  5. #5
    Scorpi0
    Invité(e)
    Par défaut
    Peut être que Informix ne gère pas les couples de valeurs.
    Essaye comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT n1.Nom,n1.Prenom  
    FROM Note n1, Note n2
    WHERE n1.Nom = n2.Nom
    and n1.Prenom = n2.Prenom
     
    -- Partie bon eleve
    and n1.Note >='10'
    and n1.DateNote >='01/01/2008'
     
    -- Partie mauvais eleve
    and n2.Note <='10'
    AND n2.DateNote >='01/01/2003'
    AND n2.DateNote <='31/12/2007'

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 51
    Par défaut
    Bonjour

    Merci Scorpi0 ta requette est parfaite

    C'est peut être que informix ne gére pas les couples de valeurs.
    Ce qui est grave pour ma prochiane requette :

    Je dois extraire les étudiant qui n'ont pas passer les éxamens dans la période 01/01/2006 à 31/12/2007 Mais ils ont passer au mois un examen apres 01/01/2008

    La solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     (Nom,Prenom) NOT IN ( Select ...)
    est à rejeter car Informix ne prend pas en charge les couples de valeurs.

    Merci Pour votre aide.

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 51
    Par défaut
    j'ai ca comme message erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Nom,Prenom IN ( SELECT Nom,Prenom   FROM Note
    Syntaxe error

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 51
    Par défaut
    Pour Information je suis sur Informix

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

Discussions similaires

  1. [Recherche] Lecteur video avec sous titres sur le web
    Par VSEB33 dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 22/10/2009, 22h27
  2. Réponses: 1
    Dernier message: 11/01/2008, 04h57
  3. Problème avec les indexes sur une base de données.
    Par osoudee dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/02/2006, 09h24
  4. pb d'insertion avec un SELECT sur une autre table
    Par epeichette dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/01/2005, 22h58

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