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 :

Double RIGHT JOIN


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2017
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2017
    Messages : 38
    Par défaut Double RIGHT JOIN
    Bonjour,

    Je n'arrive pas à créer une requête SQL pour obtenir le total des ventes par article et par magasin et qui me retourne une valeur pour toutes les combinaison Article/Magasin possible, y compris les couples qui n'ont pas d'entrée dans ma table des ventes.

    Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    SELECT
    	Articles.CodeArticle,
    	Dépôts.CodeDépôt,
    	SUM(VentesLig.CAHT) AS CAHT
     
    FROM
    	VentesLig
     
    RIGHT JOIN
    	Articles
    ON (Articles.CodeArticle = VentesLig.CodeArticle
    	AND VentesLig.DateBon BETWEEN '20190100' AND '20190200')
     
    RIGHT JOIN
    	Dépôts
    ON VentesLig.CodeDépôt = Dépôts.CodeDépôt
     
    WHERE
    	Articles.BaseArticles = '95'
    	AND Articles.CodeArticle LIKE '1AC%'
     
    GROUP BY
    	Articles.CodeArticle,
    	Dépôts.CodeDépôt
    Je dois mal m'y prendre dans mes jointures externes.

    Voici un exemple pour illustrer. Les trois tables à la source et le résultat attendu.

    Nom : Exemple.png
Affichages : 300
Taille : 21,4 Ko

    Merci pour votre aide.

    Bàv,
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 517
    Par défaut
    Bonjour,
    Pourquoi partir des ventes, alors que c'est la table qui peut ne posséder aucune ligne ?
    Tu veux toutes les combinaisons de produit/magasin ? Un CROSS JOIN est tout indiqué.
    Ensuite tu fais une jointure externe pour trouver les éventuelles ventes, et le tour est réglé.

    Tatayo.

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2017
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2017
    Messages : 38
    Par défaut
    Bonjour,

    Au départ, j'étais parti de mes articles, mais je ne savais pas comment les joindre à mes magasins (aucune clé étrangère ne les lie).
    Alors je suis parti de la table qui avait un lien avec les deux autres, çad les ventes.

    Mais je n'avais pas pensé au CROSS JOIN, alors qu'il est clairement tout indiqué pour ce genre de situation. (pas eu l'occasion de l'utiliser souvent, pas eu le réflexe...).

    Merci pour ton aide. Je vais tester ça.

    Bàt,

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2017
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2017
    Messages : 38
    Par défaut
    Parfait, j'ai exactement le résultat attendu

    Je te remercie encore une fois.

    Bàt,

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

Discussions similaires

  1. Double INNER JOIN
    Par benjisan dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/06/2007, 17h47
  2. Fonction Left join, Right Join
    Par chandlerbing77 dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2006, 17h36
  3. COUNT et RIGHT JOIN
    Par psychomatt dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/05/2006, 16h45
  4. Réponses: 4
    Dernier message: 28/10/2005, 21h58
  5. [MySQL] Condition en plus d'un RIGHT JOIN
    Par psychomatt dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/08/2005, 10h18

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