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 :

Jointure avec 2 conditions


Sujet :

Langage SQL

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut Jointure avec 2 conditions
    Bonjour,
    j'ai un petit problème avec cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT MVT_PER, MVT_DATENC, MVT_DATE, 0, M.MVT_GEN, M.MVT_PAR, M.MVT_RUB, M.MVT_ACT, M.MVT_NAT, M.MVT_LIB,MVT_MNT
    FROM (D_MVT As M
      INNER JOIN
      (SELECT MVT_ACT, MVT_GEN
       FROM D_MVT
       WHERE (MVT_NAT is not NULL)AND(MVT_PER <= 10 )
       GROUP BY MVT_ACT, MVT_GEN HAVING ROUND(SUM(MVT_MNT),2) <> 0) As A
       ON (A.MVT_ACT = M.MVT_ACT)AND(A.MVT_GEN = M.MVT_GEN)  )
    WHERE  (M.MVT_PER <= 10 )AND(M.MVT_NAT is not NULL)
    ORDER BY M.MVT_ACT,M.[N°];
    J'ai fait des tests sur une grosse table D_MVT (+- 70.000 records) et je suis sous Access et je vois que ca met beaucoup de temps à être exécuter.
    Lorsque j'enlève une des conditions de la jointure, ca met moins de 5 secondes.

    Voyez-vous une autre solution pour arriver au même résultat ?
    Merci d'avance.

    PS : Tester sous MSDE avec la même base de données --> 1,86 sec (Ca dégoute )

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Bon j'ai réussi à avoir un bon résultat en décomposant cette requête en deux requêtes en passant par un table temporaire (J'avais pas trop le choix).

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

Discussions similaires

  1. [DQL]Jointure avec n conditions sur un WITH
    Par student_php dans le forum Doctrine2
    Réponses: 7
    Dernier message: 26/06/2012, 14h28
  2. Linq - jointure avec deux conditions
    Par boby62423 dans le forum Linq
    Réponses: 1
    Dernier message: 02/04/2009, 09h51
  3. [2000] Un "casse tete" de requete :) Jointure avec conditions
    Par yepAccess dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 11/04/2008, 21h05
  4. Jointure avec condition
    Par Mookie dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 20/05/2007, 22h32
  5. Jointure avec conditions sur plusieurs colonnes
    Par ben53 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 28/11/2005, 09h27

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