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 et SQL. Discussion :

Requete sur deux tables


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut Requete sur deux tables
    Bonjour

    Bon j'ai encore besoin de vos lumieres , cette fois ci dans une requete j'aimerai calculé le temps moyen d'une immobilisation sur une machine lorsqu'une case à cocher est coché

    J'ai donc crée cette requete mais elle ne m'affiche rien , je ne vois pas mes erreurs , qqn pourrait il m'aider

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Avg([interventions].[durée]) AS Expr1, MONth(date_debut)
    FROM interventions, panne
    WHERE [interventions].[immo]<0
    GROUP BY MONTH([panne].[date_debut]), YEAR(panne.date_debut);

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    [interventions].[immo]<0

    le temps d'immobilisation peut il être négatif ??
    Elle est pas belle la vie ?

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    non biensur
    Mais en fait interventions.immo est une case à cocher , et je souhaiterai calculer le temps moyen uniquement quand cette case est coché

    J'ai regardé sur le net et quand la case est coché elle prend la valeur <0 (non coché=0)

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    alors c'est qu'il n'y a pas d'immobilisation ou que la durée n'est pas re,nseignée ou pas numérique
    Elle est pas belle la vie ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 59
    Points
    59
    Par défaut
    pourquoi deux tables?
    pourquoi group by YEAR(panne.date_debut) alors que tu selectionnes pas cet enregistrement?

    si tu essai de recuperer ta moyenne et ton mois de deux tables differentes et que ces deux tables ne sont pas liées j'ai des doute quand au résultat!

    esperont qu'un espere de sql te lise!!

    en attendant fait une requete plus simple que recupere juste une ta moyenne dans une table!

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par jm_force
    pourquoi deux tables?
    pourquoi group by YEAR(panne.date_debut) alors que tu selectionnes pas cet enregistrement?

    si tu essai de recuperer ta moyenne et ton mois de deux tables differentes et que ces deux tables ne sont pas liées j'ai des doute quand au résultat!

    esperont qu'un espere de sql te lise!!

    en attendant fait une requete plus simple que recupere juste une ta moyenne dans une table!
    Parce que je veux classer ces moyennes par mois

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 54
    Points : 59
    Points
    59
    Par défaut
    oui ba alors si les deux se trouvent dans la même table
    tu fait juste un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select MOI,AVG(...) AS MaMoyenne
    from latable
    where caseàcoche<0 ou = -1 je sais plus ce que ça renvoi
    groupe by MOI

  8. #8
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE [interventions].[immo] = true

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    les deux ne se trouvent pas sur la mm table

    voici ma requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Avg([interventions].[durée]) AS Moyenne, MONTH([panne].[date_debut])
    FROM interventions, panne
    WHERE [interventions].[immo]=True And [interventions].[nom]=[panne].[nom]
    GROUP BY MONTH([panne].[date_debut]), YEAR([panne].[date_debut]);

  10. #10
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    Mais tu ne fais pas de jointure entre tes deux tables ..... (ah si : le "[interventions].[nom]=[panne].[nom]" pardon)


    écris plutôt ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT Avg([interventions].[durée]) AS Moyenne, MONTH([panne].[date_debut])
    FROM interventions INNER JOIN panne on [interventions].[nom]=[panne].[nom]
    WHERE [interventions].[immo]=True
    GROUP BY MONTH([panne].[date_debut]), YEAR([panne].[date_debut]);

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    Ma requete s'execute bien mais il n'y a aucun resultat a l'interieur

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    C'est bon , merci

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

Discussions similaires

  1. Requete sur deux tables (débutant)
    Par nikolo007 dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/10/2008, 19h03
  2. Syntaxe requete sur deux tables
    Par mosquitout dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 03/03/2007, 20h31
  3. [SQL] requete sur deux tables
    Par yaka2 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/11/2006, 17h06
  4. requete sur deux tables
    Par rdams dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/04/2006, 14h42
  5. Requete sur deux tables
    Par ReaseT dans le forum ASP
    Réponses: 13
    Dernier message: 07/02/2005, 16h18

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