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 :

SQL probleme de jointure


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    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
    Points : 41
    Points
    41
    Par défaut SQL probleme de jointure
    Salut je resume
    voulant afficher une table contenant des traitements :
    - date, nature, action, writeuser, edituser
    - writeuser est l'utilisateur qui a saisi le traitement
    - edituser est l'utilisateur qui a modifié le traitement recement
    writeuser et edituser sont des entiers qui pointent vers l'index de la table "UTILISATEURS" qui contient elle :
    index, name, password

    Je voudrais faire une jointure afin d'afficher la table TRAITEMENTS avec les noms des utilisateurs (les 2 celui de la saisie et celui de l'edition)

    SELECT "TRAITEMENTS".*, "UTILISATEURS".NAME FROM "TRAITEMENTS"
    JOIN "UTILISATEURS"
    ON "TRAITEMENTS".writeuser="UTILISATEURS".index

    mais la je ne vois apparaitre dans mon tableau qu'un seul champ NOM d'UTILISATEURS, je sais que j'y procéde mal mais je ne sais pas coment effectuer une jointure en affichant deux colonnes différentes a partir du meme champ de la table jointe, merci

    PS : allez y mollo avec l'explication, je suis un NEANDERTHAL du TTABLE qui en se reveillant vient de découvrir le SQL

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    Il te faut faire 2 fois la jointure, une jointure pour chaque champ :

    SELECT "TRAITEMENTS".*, TU1.NAME, TU2.NAME FROM "TRAITEMENTS"
    JOIN "UTILISATEURS" TU1
    ON "TRAITEMENTS".writeuser=TU1.index
    JOIN "UTILISATEURS" TU2
    ON "TRAITEMENTS".edituser=TU2.index
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Membre du Club
    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
    Points : 41
    Points
    41
    Par défaut
    Merci pour la réponse j'ai édité car je viens d'essayer et ca marche
    TU1 et TU2 sont des variables donc !

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    Pas des variables, non.

    On appelle ça des Alias. C'est comme un surnom que l'on donne à la table pour éviter d'avoir à répéter en permanence le long nom de la table.

    L'autre utilité ici est aussi de différencier les 2 appels différents à la même table. Si tu ne les mettais pas, le moteur de requetage ne saurait pas de quelle jointure il faudrait extraire les champs Name de la table Utilisateur.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

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

Discussions similaires

  1. [SQL] Probleme jointure de tables et d'affichage
    Par Archalia dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/11/2007, 16h19
  2. BO + SQL serveur : probleme de jointures externes
    Par bastoonet dans le forum Designer
    Réponses: 2
    Dernier message: 27/09/2006, 11h59
  3. [SQL] Probleme requete sql (jointure)
    Par Pepito2030 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/09/2006, 18h15
  4. [SQL Server] Probleme de jointures
    Par pi05 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/05/2006, 14h02
  5. Réponses: 5
    Dernier message: 04/05/2006, 15h38

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