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 :

Probleme de jointure


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Mars 2009
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 191
    Points : 71
    Points
    71
    Par défaut Probleme de jointure
    Bonjour tout le monde,

    Je dois faire une requete pour afficher des achats qui soient ou non rattaché a une affaire. Voici la structure en gros de mes 2 tables :

    ACHAT
    ------
    NumAchat
    NumLigne
    NomArt

    AFFIMP
    ---------
    NumAchat
    NumLigne
    NumAffaire

    La table ACHAT regroupe la liste des achats avec un numéro, un numéro de ligne d'achat et une désignation de l'article concerné. La table AFFIMP regroupe la liste des achats imputés a une affaire c'est a dire rattaché a une affaire.

    J'ai donc fais cette requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select --- 
    from achat inner join affimp 
    on achat.numachat=affimp.numachat
    where NoBonRecepto=--- 
       AND bdrc.CodeFournisseur=---
    Cependant ca ne fonctionne pas, le resultat me donne la liste des lignes d'achat mais si une ligne d'achat n'est pas imputé il ne la fais pas apparaitre. Ou alors si une ligne est imputé mais pas l'autre cette derniere prend le numéro d'affaire de la premiere. Des fois aussi il multiplie le nombre de lignes a affiché par le nombre de lignes présentes, par exemple si j'ai 2 lignes il m'en met 2x2 lignes, 3 lignes 3x3 lignes, ...

    Je pense que ca vient de ma jointure mais j'arrive pas a m'en sortir.

    Merci de votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    essais ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select --- 
    from achat 
    Left join affimp 
    on achat.numachat=affimp.numachat
    And achat.numlign=affimp.numlign
    where NoBonRecepto=---
    AND bdrc.CodeFournisseur=---

  3. #3
    Membre régulier
    Inscrit en
    Mars 2009
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 191
    Points : 71
    Points
    71
    Par défaut
    Je viens d'essayé et ca marche. Je pensais avoir deja fait cette jointure mais apparemment non

    Merci beaucoup pour ceci deja.

    Et sinon je dois ensuite faire un lien entre la table affimp et affaire pour récupérer le nom de l'affaire qui se trouve dans la table affaire. Comment puis je faire le lien en rajoutant une autre table ? la table affaire a un numéro d'affaire : NumAffaire et une désignation affaire : desaff

    (C'est loin pour moi le SQL )

    Merci encore

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT --- 
    FROM achat 
    LEFT JOIN affimp 
    ON achat.numachat=affimp.numachat
    AND achat.numlign=affimp.numlign
    LEFT JOIN AFFAIRE
    on AFFAIRE.NUMAFF=affimp.NUMAFF
    WHERE NoBonRecepto=---
    AND bdrc.CodeFournisseur=---

  5. #5
    Membre régulier
    Inscrit en
    Mars 2009
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 191
    Points : 71
    Points
    71
    Par défaut
    Merci beaucoup ca marche du tonnerre. Ca va me servir pour les fois prochaines.

    Merci encore et bonne journée

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

Discussions similaires

  1. Probleme en jointure
    Par angelayoub dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/01/2006, 15h07
  2. [MySQL] probleme de jointure entre 2 tables
    Par guy2004 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 30/10/2005, 14h11
  3. Probleme de jointure externe ...
    Par amenis dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 06/09/2005, 09h59
  4. Probleme de Jointures imbriquées dans une requête
    Par Crevin dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/04/2005, 11h05
  5. PROBLEME DE JOINTURE ENTRE DEUX TABLE
    Par DarkMax dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/01/2005, 15h11

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