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 :

Blocage sur une requete


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 304
    Par défaut Blocage sur une requete
    Bonjour,
    J'ai la requete suivante qui m'affiche le nombre de recommandation en 2007

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(noReference) AS nb_recom FROM recommandations 
    WHERE noInspection IN (SELECT noInspection FROM inspections WHERE YEAR
    (dateInspection)=2007)
    J'aimerais la transformer pour qu'elle m'affiche le nombre de recommandations pour chaque année en une seule requete de préférence.

    Est ce possible?

    Merci

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Bonjour,

    En passant par des jointures, ça sera plus simple et plus performant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT YEAR(i.dateInspection) AS annee, COUNT(r.noReference) AS nb_recom
    FROM inspections i
    INNER JOIN recommandations r on i.noInspection = r.noInspection
    GROUP BY YEAR(i.dateInspection)
    ORDER BY YEAR(i.dateInspection)
    Pour n'avoir qu'une année, il faut juste mettre une clause WHERE sur YEAR(i.dateInspection). Pas besoin de sous-requêtes...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 304
    Par défaut
    thank you very much

    Et effectivement c'est rapide

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

Discussions similaires

  1. Condition sur une requete
    Par faayy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/04/2005, 14h28
  2. transformation sur une requete SELECT
    Par juniorAl dans le forum Langage SQL
    Réponses: 8
    Dernier message: 08/04/2005, 18h12
  3. petite aide sur une requete INSERT INTO
    Par bonneti dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/03/2005, 15h17
  4. Aide sur une requete de sélection
    Par stephdiplo150 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/01/2004, 10h40
  5. []débogage sur une requête dasn visual basic
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 24/09/2003, 09h59

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