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 :

Requête avec vérification d'existence dans une autre table


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Chef opération transport urbain
    Inscrit en
    Avril 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Chef opération transport urbain
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2008
    Messages : 92
    Points : 112
    Points
    112
    Par défaut Requête avec vérification d'existence dans une autre table
    Bonjour, j'ai fait quelques recherches et je n'ai pas trouvé chaussure à mon pied.

    Je commence par la définition des mes tables :
    Table : clients
    Table : vendeur_client
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    id
    vendeur_id
    client_id
    Table : vendeur
    Vous comprendrez que j'ai coupé dans le gras

    Je cherche à avoir la liste de tous les clients pour un vendeur qui l'a créé ou qui trouve une correspondance dans la table vendeur_client.

    Donc, un vendeur X qui a 10 clients et qui a 5 clients partagés avec un vendeur Y. Je veux que quand le vendeur X est connecté voit les 10 clients. Je veux que quand Y est connecté qu'il voit les 5 clients partagés ainsi que les clients pour lesquels il est le createur.

    Je crois que l'explication est assez simple, mais je ne trouve pas de solution.

    Merci à l'avance

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour

    Si je comprend bien :
    1/ clients.createur contient un id de vendeur (le vendeur qui a créé le client)
    2/ vous voulez, pour un revendeur donné, les client qu'il a créé et/ou auxquel il est rattaché dans la table vendeur_client

    par exemple :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT C.id 
    FROM clients C
    WHERE createur = IDDuVendeur
    OR EXISTS(
        SELECT *
        FROM vendeur_client
        WHERE client_id = C.id
        AND vendeur_id = IDDuVendeur
    )

  3. #3
    Membre régulier
    Homme Profil pro
    Chef opération transport urbain
    Inscrit en
    Avril 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Chef opération transport urbain
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2008
    Messages : 92
    Points : 112
    Points
    112
    Par défaut
    Merci infiniment aieeeuuuuu. Mon problème venait surtout de l'utilisation de EXISTS et du transfert de l'information du id client vers la sous requête. Je vais mettre ça dans mon livre d'expérience, ça me sera utile ultérieurement.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/03/2014, 16h32
  2. Impossible d'afficher une valeur existe dans une autre table
    Par mcharmat dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/02/2013, 06h38
  3. Réponses: 2
    Dernier message: 23/11/2012, 14h14
  4. Réponses: 4
    Dernier message: 08/06/2011, 14h43
  5. Réponses: 2
    Dernier message: 04/06/2009, 14h49

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