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 :

Débutant en jointure


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut Débutant en jointure
    Salut à tous,

    J'essais de faire des requettes avec jointure, mais je n'y arrive pas. J'aurais besoin d'un coup de main d'expert

    Je vous explique mon model de donnée

    3 tables avec leurs champs

    Mes utilisateurs : jos_users (id, name, block, etc..)
    La tranche à laquelle ils appartiennent et leurs pourcentage : jos_ce_user (id_user, id_tranche, user_pourcentage)
    Le nom des tranches : jos_ce_tranche (id_tranche, nom_tranche, etc...)

    J'aimerais avec une seule requette (si possible) obtenir la liste de tous les users mais avec quelques colonne en plus comme : le nom de la tranche dans laquelle ils sont, et le pourcentage du user. soit celà

    id, name, block, nom_tranche, pourcentage

    est faisable sans une requette de 3km?

    Merci d'avance pour votre aide, ça fait qq heures que je suis dessus et j'avance pas un cachou

    +
    DaD

  2. #2
    Membre éclairé
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 71
    Par défaut
    i'm here !!!


    bon alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT u.id, u.name, u.block, t.nom_tranche, u2.pourcentage
    FROM jos_users u ,jos_ce_user u2 ,jos_ce_tranche t
    jusque là ca doit aller
    ensuite tu met les conditions pour pas avoir n'importe quoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    WHERE u.id=u2.id_user
    AND u2.id_tranche = t.id_tranche

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    L'utilisation de jointures normalisées (INNER JOIN) permet de séparer ce qui dépend de la jointure proprement-dite du filtre sur les données.
    La requête est ainsi plus lisible ; vous ne risquez plus les produits cartésiens sur une table présente dans la clause FROM sans jointure.
    Votre requête sera aussi plus évolutive : rien de plus simple que de remplacer INNER par LEFT ou RIGHT pour en faire une jointure externe.

    Pour plus d'information sur les jointures : Cours sur les Jointures en SQL
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut
    Merci à vous pour ces réponses, je vais essayer ça.

    ça parait vachement plus simple quand c'est quelqu'un d'autre qui le montre

    Merci encore, je vous tiens au jus
    +
    DaD

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut
    ça marche impec, exactement ce que je voulais

    maintenant j'essais de faire une requète proche, mais qui me donnerais les utilisateur qui n'ont pas de tranche assignée.
    j'ai essayer en modifiant les closes WHERE, mais sans succès.

    tu as une piste?

  6. #6
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour,

    Tu as modifié quoi dans ta Clause WHERE ?
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



Discussions similaires

  1. [Débutant / EclispseLink] Jointure JPQL
    Par SuperArbre dans le forum JPA
    Réponses: 0
    Dernier message: 21/03/2013, 19h40
  2. [ Débutant HQL] jointure
    Par lion13 dans le forum Hibernate
    Réponses: 4
    Dernier message: 06/06/2008, 18h14
  3. [Débutant]Soucis requête jointure externes (8-i)
    Par jdotti dans le forum Oracle
    Réponses: 7
    Dernier message: 14/10/2005, 15h39
  4. Débutant SQL, problème sur une jointure censée exclure ??
    Par derfatypik dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/06/2005, 15h55
  5. [débutant] Jointure + Count
    Par Yann21 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/10/2003, 13h52

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