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 :

select sur une table de jointure [Débutant(e)]


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut select sur une table de jointure
    bonjour j'ai 3 tables : client, produit , catégorie, vendeur.

    j' ai créé ces 4 tables puis une table de jonctions avec les clé de ces 4 tables. ceci parceque un vendeur(utilisateur) peut être affecté à 1 ou plusieurs clients à un ou plusieurs produits du client et 1 ou plusieur categorie du produit.

    mon probleme c'est le select !
    exemple je veux selectionner tous les clients de l'utilisateurs je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * FROM CLIENT
    WHERE IDCLIENT in
                               SELECT IDCLIENT FROM LaTableDeJonction
                               WHERE IDUTILISATEUR = 'id utilisateur'
    cette requête marche pas car me sélectionne les lignes des "autres croisement"

    j'aimerai savoir qu'est ce qu'il faut faire?

    Je vous remecie d'avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    La notion de jointure, ça te parle ?
    Le Porc est un loup pour le Porc.

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,


    J'ai relu 3 fois et je n'ai toujours pas compris votre modèle.

    => décrivez un peu mieux les realtions entre vos tables et cette notion "d'utilisateur".
    => donnez un petit jeu de donnée qui recoupe l'entrée et la sortie de votre demande.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    Exemple :

    l'administrateur crée une utilisateur (vendeur) l'affecte à des clients (exemple Renault ) puis un ou des produits du clients (exemple voiture) puis à un ou des categorie de produit exemple (berline). Sachant que les produits les categories et les clients sont déja crée à l'engistrement j'enregistre les clés dans la table de jonctions en ajoutant l'ID du vendeur.

    je vous remercie d'avance

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Reprenons,

    Les règles du forum c'est ici : http://www.developpez.net/forums/a69...gage-sql-lire/

    Donc d'un point de vu MCD :
    Client-(0,n)-----GERE-------(0,n)-VENDEUR

    C'est bien ça ?

    Du coup pour le MPD :
    client(clientId, .....)
    vendeur(vendeurId, ....)
    A_CLI_VEN(#vendeurId,#clientId)

    C'est toujours bon ?


    Dans ces conditions, pour retrouver tous les clients gérés par un vendeur, votre requête de départ est bonne (il manque des parenthèses par contre je pense)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select clientId
    from client a
    where exists (select 1 from A_CLI_VEN b where a.clientId = b.clientId and b.vendeurId = 'XXXX')
    Donc si ca ne marche pas comme vous le voulez c'est que votre besoin est autre ou que votre modélisation différere de ce que je vous présente.

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

Discussions similaires

  1. [Droits] INSERT et SELECT sur une table temporaire
    Par Bisûnûrs dans le forum Administration
    Réponses: 2
    Dernier message: 19/06/2008, 08h01
  2. Les résultats d'un Select sur une table
    Par naznaz dans le forum Bases de données
    Réponses: 1
    Dernier message: 04/11/2007, 11h58
  3. Réponses: 6
    Dernier message: 08/02/2007, 14h41
  4. Jointures externes sur une table de jointure
    Par mart1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/10/2006, 01h33
  5. selection sur une table en fonction de plusieurs ligne
    Par dimdidi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/12/2004, 08h42

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