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 :

Jointure ou je sais pas quoi


Sujet :

Langage SQL

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 46
    Points : 32
    Points
    32
    Par défaut Jointure ou je sais pas quoi
    Bonsoir,

    je cherche à concevoir une requête permettant d'extraire des données des tables d'un ERP.

    En gros je cherche à extraire les données d'une table en fonction des résultats d'une seconde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT OP
    FROM Besoins
    WHERE DateBesoin = 20170310
    AND IDProduit = 1021469
    Le résultat de cette requête donne l'ensemble des "identifiants" de production pour un produit donné
    Je souhaite passer ce résultat dans la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT        Production.*
    FROM            Production
    WHERE Production.OP = le résultat de la requête précédente.
    Je pense que ceci concerne les jointures mais je ne comprend pas le fonctionnement et je ne suis pas sur que ce soit cela. Pourriez vous s'il vous plait m'aider à résoudre ce problème ?

    Merci à tous

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Voici ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT B.OP, P.*
    FROM Besoins B
      INNER JOIN Production P
    ON P.OP = B.OP
    WHERE 
     B.DateBesoin = 20170310
     AND B.IDProduit = 1021469
    1) Le B devant Besoins c'est un alias pour simplifier par après la requête : B.OP ça prend moins de place que Besoins.OP et c'est mieux que
    OP tout court car OP appartient à Besoins mais aussi à Production par exemple et un alias sert aussi à préciser cela ...
    2) La jointure ("simple") entre 2 tables c'est INNER JOIN suivi de ON, avec le "ON" on précise quels sont les éléments de jointure entre 2 tables
    3) Dans la clause WHERE on précise les autres conditions que les éléments de jointure


    Si la requête tombe en erreur, essayer de mettre quelques champs de production à la place de P.*
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT B.OP, P.MADATE,P.LIBELLE  
    FROM Besoins B
      INNER JOIN Production P
    ON P.OP = B.OP
    WHERE 
     B.DateBesoin = 20170310
     AND B.IDProduit = 1021469

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 46
    Points : 32
    Points
    32
    Par défaut
    Bonsoir,

    merci pour cette réponse, la requête fonctionne et au passage j'ai presque compris le fonctionnement des jointures.
    j'ai passé mon temps à chercher à résoudre ce problème en faisant une sous requête après ma clause Where ce qui n'était pas la solution.

    1000 mercis

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

Discussions similaires

  1. 2 tables, sous-requête, Max : je ne sais pas quoi utiliser
    Par Dr_shaman dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/06/2008, 17h34
  2. redirection clavier ou je sais pas quoi
    Par mathieu57 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 26/08/2007, 20h11

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