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

Bases de données Delphi Discussion :

Inconvénient JOIN pour remplacer les champs de références


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Par défaut Inconvénient JOIN pour remplacer les champs de références
    Bonjour récemment ayant sorti de mon hibernation TTABLE et migré vers l'utilisation des QUERIES sur des conseils de quelques membres de developpez.com j'ai laisser la bonne vielle methode des champs références pour le JOIN, mais il se trouve qu'il y'ai un inconvenient j'explique :
    J'ai une table fournisseurs :

    TABLE FOURNISSEURS = INDEXFOURNISSEUR, NOMFOURNISSEUR, INDEXBANQUE

    INDEXBANQUE est un champ entier qui indique le code de la banque du fournisseur défini dans la table banque :

    TABLE BANQUE = INDEXBANQUE, NOMBANQUE

    Afin d'afficher le nom de la banque dans le tableau des fournisseurs, Dans une vielle table il m'aurait suffir de créer un champ référence mais en utilisant les query on ma conseillé de faire un JOIN

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT "Fournisseurs".*, BNK.NOMBANQUE AS "Banque" FROM "Fournisseurs"
    JOIN "Banques" BNK
    ON "Fournisseurs".INDEXBANQUE=BNK.INDEXBANQUE

    Jusque la tout va bien et marche impecablement mais un probleme c'est que si il y'a un enregistrement dans la table fournisseurs qui contient une valeur nulle pour le champ INDEXBANQUE, il n'est pas affiché dans la requete ??????

    Or que dans mon appli le champ banque n'est pas obligatoire !
    Il peut y avoir un fournisseur qui ne soit affilié a aucune banque ?§!!!

    Comment faire et merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 593
    Billets dans le blog
    65
    Par défaut
    C'est là toute l'astuce des LEFT,RIGHT,INNER , préfixes devant le JOIN .

    Le mieux pour comprendre est d'aller faire un tour dans les tutoriaux SQL
    ici

  3. #3
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Autrement dit, pour comprendre la phylosophie des JOIN LEFT, RIGHT et autre faudrait faire un peu d'algèbre bool.

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/06/2006, 15h37
  2. Probleme de requete pour remplir les champs d'une table
    Par Jim_Nastiq dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/04/2006, 14h56
  3. Ma requête ne calcul pas pour tout les champs
    Par leloup84 dans le forum Requêtes
    Réponses: 10
    Dernier message: 01/03/2006, 12h59
  4. Ma requête ne calcul pas pour tout les champs
    Par leloup84 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/03/2006, 10h11
  5. Souci pour remplacer les Retours chariot par <BR>
    Par ahage4x4 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/06/2005, 11h24

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