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 :

Requete complexe a mon avis


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Requete complexe a mon avis
    Bonjour,

    Je souhaite faire une requete SQL que je trouve un peu complexe

    Je possède 3 tables
    magasin(#id, nom, lieu)
    magasin_produit(#id, stock_actuel, magasin_id, produit_id)
    produit(#id, nom)

    Je souhaite afficher tous les nom de produits distincts avec le stock actuel et cela pour un seul magasin, meme si pour un produit une ligne magasin_produit n'existe pas! Dans ce cas, je souhaite afficher le stock comme = 0

    Je ne trouve pas de solution.
    une condition where mp.magasin_id = nombre OR mp.magasin_id IS NULL ne marche pas

    Pourriez vous m'aider?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Je crois que ton problème c'est la jointure externe.
    D'abord un peu de lecture.
    http://sqlpro.developpez.com/cours/s...ntures/#LIII-C
    Et ta requête si j'ai compris ton modèle de données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select p.id, p.nom, stock_actuel
    from produit p
    left outer magasin_produit mp
    on p.id=mp.produit_id
    where mp.magasin_id=18
    a+
    Soazig

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 434
    Points
    28 434
    Par défaut
    Une toute petite correction à la requête proposée par soazig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select p.id, p.nom, stock_actuel
    from produit p
    left outer join magasin_produit mp
    on p.id=mp.produit_id
    and mp.magasin_id=18

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Merci beaucoup! En effet, le problème est résolu avec une jointure externe.

    Elle n'était pas si complexe que ca en fin de compte

    Amicalement

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

Discussions similaires

  1. requete complexe
    Par nicohugo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/03/2006, 08h10
  2. Requete complexe
    Par d1g-2-d1g dans le forum Langage SQL
    Réponses: 9
    Dernier message: 02/05/2005, 14h47
  3. Requete complexe
    Par Pfeffer dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/02/2005, 17h42
  4. optimisation requetes (besoin de votre avis)
    Par seb92 dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/12/2004, 11h27
  5. requete complexe
    Par Thunder_nico dans le forum Langage SQL
    Réponses: 8
    Dernier message: 07/10/2004, 11h36

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