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 :

left outer join ?


Sujet :

Langage SQL

Vue hybride

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut left outer join ?
    bonjour a tous !
    je n'arrive pas a concevoir ma requete...
    voici a quoi ressemble mes tables :
    table1(id,champs1,champs2,champs3)
    table2(id,idtable1,champs1,champs2,champs3)
    table3(id,idtable2,champs1,champs2,champs3)
    elles representent une hierarchie de dependances
    - un enregistrement de la table2 depend d'un enregistrement de la table 1
    - un enregistrement de la table3 depend d'un enregistrement de la table 2
    si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     SELECT * FROM table1,table2,table3 WHERE
    (table1.id=table2.idtable1 AND table2.id=table3.idtable2)
    je n obtiens QUE les enregistrements complets :
    - table1 table2-LIER-A-table1 table3-LIER-A-table2-LIER-A-table1
    alors que je souhaite afficher aussi
    - table1 table2-LIER-A-table1 table3-NULL
    - table1 table2-NULL table3-NULL

    j ai essaye ca mais je ne suis pas un expert et ca marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     SELECT * FROM table1,table2,table3 LEFT OUTER JOIN table2 ON
    (table1.id=table2.idtable1 AND table2.id=table3.idtable2)
    MySQL a répondu:#1066 - Table/alias: 'table2' non unique

    une idee qq ?
    (MySQL 4.1.9)

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 139
    Par défaut
    As-tu déjà lu ceci ?
    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.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    j'ai deja parcouru ce genre de doc oui, c'est de là que j'ai tiré mon "LEFT OUTER JOIN" mais MYSQL me renvoi :
    MySQL a répondu:#1066 - Table/alias: 'table2' non unique
    quand je lance ma requete

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 139
    Par défaut
    Compare bien ta requête avec la syntaxe du OUTER JOIN
    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.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    bah j'ai du mal a transposer l'exemple de la doc (avec 2 tables)
    avec mon cas (3 tables)...
    est ce que ca ressemble plutot a ca d'apres toi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM `table1`
    LEFT OUTER JOIN `table2` ON table1.`id` = table2.`idtable1`
    LEFT OUTER JOIN `table3` ON table2.`id` = table3.`idtable2`
    WHERE (table2.`idtable1` IS NULL OR table3.`idtable2` IS NULL)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    je crois avoir trouvé... tu peux me confimer pour que je mette RESOLU ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM `table1`
    LEFT OUTER JOIN `table2` ON table1.`id` = table2.`idtable1`
    LEFT OUTER JOIN `table3` ON table2.`id` = table3.`idtable2`
    WHERE (table1.id OR table2.`idtable1` IS NULL OR table3.`idtable2` IS NULL)

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

Discussions similaires

  1. Probleme de NULL avec LEFT OUTER JOIN
    Par jiluc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/01/2006, 15h42
  2. Bug LEFT OUTER JOIN Firebird
    Par Fabio2000 dans le forum SQL
    Réponses: 3
    Dernier message: 21/11/2005, 10h08
  3. Problème avec left outer join
    Par jgfa9 dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/08/2005, 22h07
  4. Problème de performance avec LEFT OUTER JOIN
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/07/2005, 14h17
  5. concatenation de chaine dans un left outer join
    Par the_edge dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/11/2004, 17h08

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