voila jai les 3 tableau et je voudrai faire un select me donnant le resultat que jai affiché dans le fichier joint!
voila jai les 3 tableau et je voudrai faire un select me donnant le resultat que jai affiché dans le fichier joint!
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
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
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
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
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/ * * * * *
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 !Envoyé par SQLpro
Je dis bravo également !
La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir
Bonjour,Envoyé par phpaide
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
...
La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager