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

Requêtes MySQL Discussion :

requete dans requete


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut requete dans requete
    Bonjour,
    Je n'ai pour l'instant était confronté qu'a des requetes simple en SQL mais là je bloc, c'est un peu plus compliqué. Voici le problème :
    J'ai une table 'fichier' qui contient le 'nom' de fichier des fichier stocker dans la base de données et un 'sujet' auquelle il est lié (il y a plusieur fichier par sujet) et une 'date' de création de fichier.
    Une autre table 'chute' qui contient le 'sujet' et une date de 'chute' (il peut y avoir plusieurs chute par sujet).
    La requete que je veu faire est du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT test.nom 
    FROM test 
    INNER JOIN chute ON test.sujet=chute.sujet 
    WHERE 'le nombre totale de chute pour ce sujet'>3
    Voila j'ai cru comprendre que je pouvais faire un select aprés le where
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT test.nom 
    FROM test 
    INNER JOIN chute ON test.sujet=chute.sujet 
    WHERE (SELECT COUNT(*) AS nbrchute 
    WHERE chute.sujet=test.sujet)>3
    mais malgré qu'il n'y est pas d'erreur les résultats ne colle pas.

    J'ai aussi vu que l'on proposez dans certain forum de creer une table temporaire. dans ce cas là , comment faire? et que mettre dedans?

    Voila j'espere etre assez claire dansl'exposé de mon problème,
    merci pour toutes réponses!!

  2. #2
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Citation Envoyé par Zikriek
    Bonjour,
    Je n'ai pour l'instant était confronté qu'a des requetes simple en SQL mais là je bloc, c'est un peu plus compliqué. Voici le problème :
    J'ai une table 'fichier' qui contient le 'nom' de fichier des fichier stocker dans la base de données et un 'sujet' auquelle il est lié (il y a plusieur fichier par sujet) et une 'date' de création de fichier.
    Une autre table 'chute' qui contient le 'sujet' et une date de 'chute' (il peut y avoir plusieurs chute par sujet).
    La requete que je veu faire est du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT test.nom 
    FROM test 
    INNER JOIN chute ON test.sujet=chute.sujet 
    WHERE 'le nombre totale de chute pour ce sujet'>3
    Voila j'ai cru comprendre que je pouvais faire un select aprés le where
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT test.nom 
    FROM test 
    INNER JOIN chute ON test.sujet=chute.sujet 
    WHERE (SELECT COUNT(*) AS nbrchute 
    WHERE chute.sujet=test.sujet)>3
    mais malgré qu'il n'y est pas d'erreur les résultats ne colle pas.

    J'ai aussi vu que l'on proposez dans certain forum de creer une table temporaire. dans ce cas là , comment faire? et que mettre dedans?

    Voila j'espere etre assez claire dansl'exposé de mon problème,
    merci pour toutes réponses!!
    Il manque des informations pour pouvoir faire une requête. Peux tu donner plus de détails pour les chutes ?
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut utilisé AS dans WHERE
    petit à petit, j'avance mais me revoila bloqué.
    tout d'abord je me suis rendu compte qu'il était possible d'utilisé COUNT sans utilisé select et where comme je l'ai fait précédemment. Ainsi je peu simplement ajouter un GROUP BY et le count n'agira que sur la ligne (le nom de la personne) auquelle il appartient (je pensai qu'il afficherai betement le total des ligne à chaque fois...)
    bref j'obtient le résultat que je voulais simplement avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     SELECT sujet.sujet_code, COUNT( chute.chute_date ) AS nbrchute
    FROM sujet
    INNER JOIN chute ON sujet.sujet_code = chute.chute_sujet_code_
    GROUP BY sujet.sujet_code
    LIMIT 0 , 30
    Mais lorsque je veux utiliser la colonne 'nbrchute' tout juste créé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     SELECT sujet.sujet_code, COUNT( chute.chute_date ) AS nbrchute
    FROM sujet
    INNER JOIN chute ON sujet.sujet_code = chute.chute_sujet_code_
    WHERE nbrchute <2
    GROUP BY sujet.sujet_code
    LIMIT 0 , 30
    sa ne marche pas...

    Que puis-je faire???

    merci pour toutes indications...

  4. #4
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    précision sur les tables (même si c'est peut-etreplus la peine?) :

    table 'chute'
    'chute_sujet_codes_'
    'chute_date'

    table 'sujet'
    'sujet_code'
    'sujet_naiss'
    'sujet_sexe'

    voila c'est tout ce qu'il faut je pense...
    merci ...

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

Discussions similaires

  1. requete dans requete
    Par SpaceFrog dans le forum Requêtes
    Réponses: 11
    Dernier message: 14/10/2008, 10h19
  2. Requete dans requete
    Par Invité(e) dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/04/2008, 13h51
  3. Requete dans requete
    Par Invité(e) dans le forum Langage SQL
    Réponses: 0
    Dernier message: 22/04/2008, 11h45
  4. [Access 97] plusieurs sous requetes dans requetes!!!
    Par T'chab dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/05/2006, 14h07
  5. lenteur d'affichage de requete dans un DBGrid
    Par nico27 dans le forum InterBase
    Réponses: 9
    Dernier message: 23/06/2003, 13h54

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