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 :

Besoin d'aide pour une requête SQL


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 42
    Points : 36
    Points
    36
    Par défaut Besoin d'aide pour une requête SQL
    Bonjour,

    Je n'arrive pas à mettre au point une requête sur deux tables.

    Table article qui contient réf et désignation
    (Tous les articles sont présents dans cette table)

    Table stock qui contient réf , Stk et dépot
    (Certains articles sont présents dans cette table)

    Si je me trouve sur le dépôt 1

    J'aimerai avoir la liste de tous les articles et le stock existant pour les articles présents dans la table stock pour le dépôt 1.

    sous la forme

    REf, Des, Stk
    A, Article A, 0 si pas présent dans la table stock pour le depot 1
    B, Article B, 12 si présent dans la table stock pour le depot 1

    Je vous remercie par avance spour votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Points : 1 414
    Points
    1 414
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT A.REF,
               A.Designation,
               Coalesce(s.stk, 0)
           FROM article A
              LEFT JOIN on Stock S on S.Ref = A.REF
    WHERE depot = 1

    Nb une petite recherche dans le forum, SVP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 42
    Points : 36
    Points
    36
    Par défaut Pb requete
    Merci pour votre réponse.

    Mais cette requête ne retourne que les articles présents dans la table stock.

    Je cherche à retourner tous les articles de la table article et pour ceux qui ont du stock (présents dans la table stock) le stock sur le depot 1

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Points : 1 414
    Points
    1 414
    Par défaut
    oups

    il faut mettre le depot = 1 dans la jointure et non dans la clause comme je l'ai fait

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 577
    Points : 1 073
    Points
    1 073
    Par défaut
    Bonjour,

    @Olivier Dehorter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT A.REF,  A.Designation,   Coalesce(s.stk, 0)
       FROM article A
          LEFT JOIN ON Stock S ON S.Ref = A.REF
    WHERE depot = 1
    Cette requête n'est pas satisfaisante car elle équivalente à une jointure interne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT A.REF,  A.Designation,   Coalesce(s.stk, 0)
      FROM article A
         INNER JOIN ON Stock S ON S.Ref = A.REF
    Lire le blog de @CinePhil
    http://blog.developpez.com/cinephil/...restric#more-1

    Si tu veux présenter tous les articles en indiquant ceux qui ont des stocks dans le dépôt 1, tu dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT A.REF,  A.Designation,   Coalesce(s.stk, 0),  Depot
      FROM article A
         LEFT JOIN ON Stock S ON S.Ref = A.REF AND Depot = 1
    Si ta demande est tous les articles avec les quantités en stocks dans tous les dépôts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT A.REF,  A.Designation,   Coalesce(s.stk, 0),  Depot
       FROM article A
          LEFT JOIN ON Stock S ON S.Ref = A.REF
    A parfaire, en fonction de tes souhaits

    A+

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 42
    Points : 36
    Points
    36
    Par défaut
    Merci ,
    mais j'ai toujours le même problème avec la requete suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT  A.AR_Ref, A.AR_Design, COALESCE(s.AS_QteSto,0) as Stk 
    FROM F_ARTICLE A LEFT JOIN F_ARTSTOCK S on S.AR_Ref = A.AR_Ref  and DE_No = 1
    Le résultat me retourne que les articles presents dans le dépot 1.
    J'aimerai avoir tous les articles de la table article et récupérer le stock pour les articles présents dans le dépot 1
    Particularité : les articles ne sont pas tous présents dans la table stock.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Points : 1 414
    Points
    1 414
    Par défaut
    Citation Envoyé par seabs Voir le message
    Bonjour,

    @Olivier Dehorter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT A.REF,  A.Designation,   Coalesce(s.stk, 0)
       FROM article A
          LEFT JOIN ON Stock S ON S.Ref = A.REF
    WHERE depot = 1
    Cette requête n'est pas satisfaisante car elle équivalente à une jointure interne.

    oui je m'en suis rendu compte

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Points : 1 414
    Points
    1 414
    Par défaut
    Citation Envoyé par maloue Voir le message
    Merci ,
    mais j'ai toujours le même problème avec la requete suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT  A.AR_Ref, A.AR_Design, COALESCE(s.AS_QteSto,0) as Stk 
    FROM F_ARTICLE A LEFT JOIN F_ARTSTOCK S on S.AR_Ref = A.AR_Ref  and DE_No = 1
    Le résultat me retourne que les articles presents dans le dépot 1.
    J'aimerai avoir tous les articles de la table article et récupérer le stock pour les articles présents dans le dépot 1
    Particularité : les articles ne sont pas tous présents dans la table stock.
    tu dois avoir un autre problème. Cette requête doit te renvoyer TOUS les articles et les infos de stock du depot 1

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 42
    Points : 36
    Points
    36
    Par défaut Excuses
    Merci

    Cette requête retourne bien le résultat correcte !

    Merci pour votre aide

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

Discussions similaires

  1. Besoin d'aide pour une requête SQL
    Par p_oum dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 26/11/2009, 10h29
  2. Besoin d'aide pour une requête SQL
    Par sexy-meta dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/07/2008, 15h36
  3. Besoin d'aide pour une requête SQL
    Par FranckyVegas dans le forum Langage SQL
    Réponses: 7
    Dernier message: 27/05/2008, 21h16
  4. Besoin d'aide pour une requête SQL
    Par Borami dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/11/2005, 11h33
  5. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 12h56

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