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 :

jointure


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 240
    Points : 60
    Points
    60
    Par défaut jointure
    voila jai les 3 tableau et je voudrai faire un select me donnant le resultat que jai affiché dans le fichier joint!
    Fichiers attachés Fichiers attachés

  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
    Ce serait beaucoup plus accessible si tu nous donnais un jeu d'essai en SQL, directement sur le forum (et avec les balises code), plutôt qu'un fichier Word ...

  3. #3
    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,
    je te propose une solution qui fonctionne sous Oracle (acceptation des sous-requêtes)
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    select i.nom_eleve,
    i.nom_prof, 
    a.duree1,
    b.duree2,
    c.duree3
    from
    (select nom_eleve,
    nom_prof
    from table1
    union
    select nom_eleve,
    nom_prof
    from table2
    union
    select nom_eleve,
    nom_prof
    from table3) i,
    table1 a,
    table2 b,
    table3 c
    where a.nom_eleve(+)= i.nom_eleve and
    a.nom_prof(+) = i.nom_prof and
    b.nom_eleve(+)= i.nom_eleve and
    b.nom_prof(+) = i.nom_prof and
    c.nom_eleve(+)= i.nom_eleve and
    c.nom_prof(+) = i.nom_prof 
     
    
    


    les (+) sont des jointures externes optionnels (équivalent left outer join)

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Devrait marcher aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT nom_eleve,nom_prof, SUM(Duree1), SUM(Duree2, SUM(Duree3)
    FROM (SELECT nom_eleve, nom_prof, Duree1, 0 as Duree2, 0 as Duree3
          FROM Table1
         UNION ALL
          SELECT nom_eleve, nom_prof, 0, Duree2, 0
          FROM Table2
         UNION ALL
          SELECT nom_eleve, nom_prof, 0, 0, Duree3
          FROM Table3)
    GROUP BY nom_eleve,nom_prof

  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
    Effectivement le code de Médiat est plus malin... De plus j'ai oublié de mettre les aggrégats (le sum) ainsi que le group by dans mon code...

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 874
    Points : 53 048
    Points
    53 048
    Billets dans le blog
    6
    Par défaut
    lper, le fait de donner une requête spécifique Oracle sur un forum dédié au langage SQL et non à un produit c'est quand même très limite. D'autant que la syntaxe de merde d'Oracle n'est pas conforme à la norme depuis ... 1992 !
    soit près de 15 ans de retard !!!!!!!!!!!!!

    BRAVO !

  7. #7
    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
    Citation Envoyé par SQLpro
    lper, le fait de donner une requête spécifique Oracle sur un forum dédié au langage SQL et non à un produit c'est quand même très limite. D'autant que la syntaxe de merde d'Oracle n'est pas conforme à la norme depuis ... 1992 !
    soit près de 15 ans de retard !!!!!!!!!!!!!

    BRAVO !
    Je remercie ce message plein d'encouragement, j'aurai cru bien faire de donner mon avis sur le fond du raisonnement plutôt que sur la forme, désolé de travailler sur une version 8 d'Oracle !

    Je dis bravo également !

  8. #8
    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
    Citation Envoyé par phpaide
    voila jai les 3 tableau et je voudrai faire un select me donnant le resultat que jai affiché dans le fichier joint!
    Bonjour,
    tu as eu pas mal d'intervention qui ont nécessité pas mal de temps de chacun de nous pour répondre à ton post.
    Sans vouloir être désobligeant ni désagréable, (j'ai pu remarqué que tu avais effectué un nouveau post) il me semble que la moindre des politesses aurait été que tu puisses au moins nous répondre et savoir si les solutions proposées répondent à tes attentes, sans oublier la clôture du post.
    Merci d'avance, a bon entendeur...

  9. #9
    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
    ...

Discussions similaires

  1. Jointure qui ne renvoie pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 12
    Dernier message: 19/07/2024, 09h33
  2. pb jointure texture
    Par dweis dans le forum DirectX
    Réponses: 2
    Dernier message: 24/06/2003, 13h33
  3. Jointures en SQL
    Par Guizz dans le forum Langage SQL
    Réponses: 10
    Dernier message: 04/06/2003, 12h21
  4. Réponses: 14
    Dernier message: 17/03/2003, 18h31
  5. Jointures INNER et jointures classiques ???
    Par UbiK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/09/2002, 10h29

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