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 :

comment réaliser cette jointure svp


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Points : 66
    Points
    66
    Par défaut comment réaliser cette jointure svp
    Salut mes amis
    Je cherche un moyen pour faire une filtrage dans ma requête avant d’exécuter le prédicat (condition) de la jointure.
    Je m’explique :
    J’ai une requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Select  a.ch1, a.ch2, a.mois, a.annee , b.bh1  from table1 a right join table2  on a.ch1=b.bh1
    Where  a.mois=’MARS’ and a.annee=’2010
    Cette requête me donne tous les enregistrements vérifiant la condition de la jointure mais ne m’affiche pas les enregistrements de la table table2 dont bh1 n’a pas de correspondance dans table1
    Bien sure a cause du filtrage du where
    C a d je veut avoir tous les enregistrement du mois de mars 2010 dont le champ ch1 existe dans table2
    Plus les bh1 de la table 2 qui non pas de correspondance dans table 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Ch1   -   ch2   -   mois   -    annee   -    bh1
    10    -    305   -     MARS   -    2010    -     10
    20    -    602   -    MARS   -    2010   -     20
    NULL- NULL-  NULL-           NULL-      30
    J’espère que j’ai pu expliquer mon problème .
    Je vous remercie pour votre sympathie !

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Il faut mettre toutes les conditions dans le ON :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  a.ch1, a.ch2, a.mois, a.annee , b.bh1  
    FROM table2 b 
      LEFT JOIN table1 a ON a.ch1=b.bh1 AND a.mois='MARS' AND a.annee='2010'
    (je l'ai réécrit en LEFT JOIN parce que c'est plus naturel de mettre la table obligatoire d'abord, mais ça ne change rien sur le fond)

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Points : 66
    Points
    66
    Par défaut
    bonjour
    premièrement je vous remercie beaucoup mon ami pour votre aide

    svp je voudrai faire un tri par ch1 et bh1
    le problème c que le order by commence par trier ch1 puis il insère bh1
    y a t'il un moyen dans l'univers SQL pour le faire?

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT  a.ch1, a.ch2, a.mois, a.annee , b.bh1  
    FROM table2 b 
      LEFT JOIN table1 a ON a.ch1=b.bh1 AND a.mois='MARS' AND a.annee='2010'
    ORDER BY ch1, bh1

  5. #5
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Points : 66
    Points
    66
    Par défaut
    oh merci beaucoup antoun
    par fois je devient bête a un point .... mais c la fatigue car j'ai régler cette erreur hier a 1 heurs du matin et lorsque je me suis réveillé j'ai pensai que j'ai toujours ce pseudo pb !!!
    je te remercie encore une fois pour votre aide .

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

Discussions similaires

  1. comment réaliser cette fonction
    Par michel71 dans le forum jQuery
    Réponses: 2
    Dernier message: 01/02/2011, 09h11
  2. Comment réaliser cette fonction ?
    Par PuNiShiM dans le forum Développement Web avec .NET
    Réponses: 3
    Dernier message: 24/03/2010, 09h36
  3. [XHTML] Comment réaliser cette boite ?
    Par °°° Zen-Spirit °°° dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 08/09/2006, 20h19
  4. [ADO.Net] Comment réaliser une jointure bindée ?
    Par prophetky dans le forum Accès aux données
    Réponses: 4
    Dernier message: 18/02/2006, 16h17
  5. Comment réaliser cette config multiboot Windows-Linux?
    Par _Alain_ dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 11/01/2006, 15h40

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