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

Requêtes et SQL. Discussion :

Requête SQL multitable


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Webplanneur
    Inscrit en
    Décembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Pologne

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Décembre 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Requête SQL multitable
    Bonjour,

    J'utilise Access 2007 pour MS Visual Studio Express 2017 sous Windows pour faire un programme personnel en VB NET
    pour mon épouse (opticienne) Après 20 ans sous VB 5, je découvre (enfin) le multitable.

    Je donne ici un exemple (simplifié, pour ma question) qui fonctionne (avec le vendeur, sans le livreur) me limitant autant que possible au SQL :
    Le but de cette requête (deux tables) est de dresser la liste des visites d'un client.
    L'enregistrement d'une visite comprend, entre autres, la référence du vendeur (qui vend les lunettes) et celle du livreur
    (qui livre les lunettes au magasin lorsque le client revient les chercher)
    La table Visites comprend les paramètres d'une visite, et la table Users ceux d'un utilisateur du programme (Vendeur ou livreur)


    ' 1) Exemple qui fonctionne, qui ne cherche que le vendeur (pas le livreur)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim sql As String = ""
     
    sql &= "SELECT v.*, u.Initiales AS Vendeur "
    sql &= "FROM Visites v, Users u "
    sql &= "WHERE Client_num = " & Client_num & " "
     
    sql &= "AND u.Initiales IN("
    sql &= "  SELECT u.Initiales"
    sql &= "  FROM Users u"
    sql &= "  WHERE u.User_num = v.CréationEnrgt_User_num"
    sql &= "  )"
    2) Exemple qui NE fonctionne PAS, qui cherche le vendeur ET le livreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Dim sql As String = ""
     
    sql &= "SELECT v.*, u.Initiales AS Vendeur , u.Initiales AS Livreur "
    sql &= "FROM Visites v, Users u "
    sql &= "WHERE Client_num = " & Client_num & " "
     
    sql &= "AND u.Initiales IN("
    sql &= "  SELECT u.Initiales"
    sql &= "  FROM Users u"
    sql &= "  WHERE u.User_num = v.CréationEnrgt_User_num"
    sql &= "  )"
     
    sql &= "AND u.Initiales IN("
    sql &= "  SELECT u.Initiales"
    sql &= "  FROM Users u"
    sql &= "  WHERE u.User_num = v.Livr_User_num"
    sql &= "  )"
    QUESTION : dans Visites se trouvent les deux utilisateurs à rechercher (mêmes champs) Mais comment les distinguer dans la sql ?

    Bonjour si quelqu'un est assez calé pour le savoir, mais merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Si ce n'est pas résolu, voir si en ligne 4 il ne faudrait pas indiquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql &= "FROM Visites v, Users u, Users u "
    vu que le SELECT en ligne 3 appelle 3 champs.

    Par ailleurs, je ne sais pas si la condition en WHERE mentionnée
    WHERE a AND b AND c
    ne devrait pas plutôt être
    WHERE a AND (b OR c)

    Cdt

Discussions similaires

  1. [ DB2 ] [ AS400] requête sql
    Par zinaif dans le forum DB2
    Réponses: 6
    Dernier message: 23/08/2008, 19h42
  2. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  3. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26
  4. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37
  5. Requête SQL
    Par Leludo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/02/2003, 16h44

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