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 : 50

    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 ...
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    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)
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

  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
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    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...
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

  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 772
    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 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    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 !
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    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 !
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    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...
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 396
    Points : 641
    Points
    641
    Par défaut
    ...
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

Discussions similaires

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

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