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 :

Plusieurs jointures sur une table


Sujet :

Langage SQL

  1. #1
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut Plusieurs jointures sur une table
    Bonjour à tous,

    j'ai un souci pour une requête SQL...
    J'ai 2 tables :

    T_client
    id
    nom
    prenom
    date_naissance
    code_lieu_naissance
    code_localisation


    T_vile
    id
    nom
    cp


    J'aimerais que ma requête m'affiche pour chaque client le nom de la ville de naissance et le nom de la ville d'habitation.

    Pour le moment, j'ai cette requête :
    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
    18
    19
    SELECT 
    	T_client.id AS ID,
    	T_client.nom AS Nom,
    	T_client.prenom AS Prenom,
     
    	T_client.date_naissance AS Date_naissance,
    	T_ville.nom AS Lieu_naissance,
     
    	T_ville.nom AS Ville,	
    	T_ville.cp AS CP
    FROM 
    	T_client,	
    	T_ville
    WHERE 
    	T_ville.id = T_client.code_localisation
    	AND T_ville.id = T_client.code_lieu_naissance
    ORDER BY 
    	Nom ASC,	
    	Prenom ASC
    C'est faux mais je ne sais pas comment faire ...
    Si quelqu'un pouvait me donner un p'tit coup de pouce... ça serait cool !
    Merci d'avance

    Tchup.

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Utilise 2 fois la table des villes dans ta requête, avec des alias :

    cf ce thread : [MySQL] Plusieurs jointures sur une même table

  3. #3
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Merci pour le lien Xo.

    Ma requête fonctionne maintenant !
    La voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT 
    	T_client.id AS ID,	
    	T_client.nom AS Nom,	
    	T_client.prenom AS Prenom,	
    	T_client.date_naissance AS Date_naissance,
    	N.nom AS Lieu_naissance,
    	V.nom AS Ville,	
    	V.cp AS CP
    FROM 
    	T_client INNER JOIN T_ville V ON (V.id=T_client.code_localisation),
    	T_client INNER JOIN T_ville N ON (N.id=T_client.code_lieu_naissance)
    ORDER BY 
    	Nom ASC,	
    	Prenom ASC
    Je l'utilise sous WinDev10....

    @+ et encore merci

  4. #4
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut


    je viens de m'apercevoir que la requête n'affiche pas les clients dont le lieu de naissance n'est pas renseigné...
    Par défaut, T_client.code_lieu_naissance vaut 0 et comme l' ID automatique des villes commencent à 1. je ne sais pas comment faire !

    Vous auriez une idée ?

    @+

  5. #5
    Membre confirmé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 398
    Points : 641
    Points
    641
    Par défaut
    Bonjour,
    il suffit de mettre un 'left outer join' à la place.

  6. #6
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    beaucoup lper

    @+

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/11/2011, 17h57
  2. Requete Auto jointure sur une table
    Par Guillaume 78 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/11/2007, 09h26
  3. [MySQL] Plusieurs jointures sur une même table
    Par stephyyr dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/06/2006, 14h24
  4. comment gérer plusieurs locks sur une table?
    Par charluber dans le forum Oracle
    Réponses: 4
    Dernier message: 18/04/2006, 21h28
  5. [MySQL] Jointure sur une table déjà jointe
    Par genova dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/10/2005, 23h54

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