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 :

Problème avec LEFT OUTER JOIN


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Problème avec LEFT OUTER JOIN
    Bonjour 2 jours de recherches sans arriver au résultat, donc besoin d'un coup de pouce.

    Je vais essayer de vous faire comprendre mon problème.
    J'ai 2 tables :
    - une table "Avancée des travaux" contenant différentes étapes d'une construction avec comme champs principaux : ID de la tranche, ID du programme auquel la tranche est rattachée
    - une table 'Appel de fond" avec un appel de fond correspondant à une tranche des travaux. Champ principaux : ID tranche, ID du lot, date appel de fond

    J'ai besoin d'obtenir un résultat montrant l'ensemble des appel de fond pour un programme donné avec les appels de fond effectué mais aussi ceux pour lesquels ils n'ont pas été fait.

    Un LEFT OUTER JOIN permet théoriquement d'obtenir ce que je veux, le problème est que j'ai 2 conditions dans le WHERE :
    - l'ID du programme dans la table avancée de travaux
    - ID du lot concernant l'appel de fond Je n'obtient que le lot pour lequel il y a eu un appel mais les autres (donc non existant dans la table appel de fond) n'apparaissent pas.

    Voici ma requêtes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT at.at_id, at.pg_id, at.num_tranche, at.libelle, f.f_id, f.appel, f.recut 
    FROM `avancement_trvx` at 
    LEFT OUTER JOIN fonds f ON at.at_id = f.at_id 
    WHERE at.pg_id=X AND f.lp_id=Y 
    ORDER BY at.num_tranche
    X représentant l'ID du programme et Y le lot en question. Si quelqu'un arrive à comprendre de quoi je parle, merci d'avance...

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    je ne comprends pas trop tes conditions sur f.appel

    quelque chose comme cela peut etre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT at.at_id, at.pg_id, at.num_tranche, at.libelle, f.f_id, f.appel, f.recut 
    FROM `avancement_trvx` at 
    LEFT OUTER JOIN fonds f ON at.at_id = f.at_id AND f.lp_id=Y 
    WHERE at.pg_id=X  
    ORDER BY at.num_tranche

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Les conditions sur f_appel étaient là quand je faisait des test pour faire afficher les enregistrements NULL, je n'aurais pas du le mettre dans mon post. J'ai corrigé.


    Mais sinon, bravo, tu m'as solutionner le problème en 30s .
    Je ne savais pas qu'on pouvais rajouter un "AND" directement dans la clause de jointure !

    Un grand merci pour m'avoir sorti de ce pétrin en si peu de temps !!

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

Discussions similaires

  1. problème avec LEFT OUTER JOIN
    Par tofque dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/03/2008, 11h57
  2. Problème de left outer join avec Ibatis
    Par sarsipius dans le forum JDBC
    Réponses: 1
    Dernier message: 28/02/2008, 14h51
  3. Probleme de NULL avec LEFT OUTER JOIN
    Par jiluc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/01/2006, 14h42
  4. Problème avec left outer join
    Par jgfa9 dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/08/2005, 21h07
  5. Problème de performance avec LEFT OUTER JOIN
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/07/2005, 13h17

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