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 ...
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)
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
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...
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 !Envoyé par SQLpro
Je dis bravo également !
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...
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