Je veux afficher la liste des employés (MAT,NOM) qui ont travaillé au moins dans deux services
Je veux afficher la liste des employés (MAT,NOM) qui ont travaillé au moins dans deux services
C'est pas forcément le plus optimiser ni le plus propre, mais ca devrait fonctionner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 select MAT, NOM from EMPLOYE where exists ( select 1 from AFFECTATION AFF1 inner join AFFECTATION AFF2 on AFF1.MAT# = AFF2.MAT# and AFF1.CODE_SER# <> AFF2.CODE_SER# where AFF1.MAT# = MAT ) ;
Bonjour,
Ca sent tout de même une demande de solution pour un exercice...
Et si tu nous montrait plutôt ce que tu as tenté de faire, histoire qu'on te donne des pistes à creuser ?
Le but d'un forum comme celui-ci n'est pas de faire les devoirs des autres, il me semble...
Tatayo.
Je suis d'accord avec toi, mais ca ne me pose pas particulièrement de problème d'éthique lol ^^
dès lors que ca m'amuse d'écrire une minuscule requête, ca me gène pas de le faire.
Après, l'auteur s'arrange avec sa conscience, et surtout, s'arrange avec ses futures compétences professionnelles.
Mais la prochaine fois, je penserai à balancer un easter egg dans les requêtes que je ponds, c'est une bonne idée pour voir si la personne comprend qlq chose ou si elle recopie betement.
Bonjour,
@bstevy ta solution est de mon point de vue "surprenante"
ayant été prof dans un passé lointain, ce devoir m'aurait mis la puce à l'oreille et j'aurais senti la "triche"
une solution à base de GROUP BY/HAVING mâtinée d'une petite jointure m'aurait suffit je pense
j'aimerais bien voir ça![]()
Bonjour ,
Merci pour vos réponses , en effet mon prof nous a envoyé la correction mais j'ai pas compris son raisonnement donc j'ai voulu voir d'autres version pour faire une comparaison afin de comprendre . Enfin je vous montre la correction dans la figure ci-dessous ,
et voila mon essai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Select Mat, Nom From employe , affectation where employe.Mat = affectation.Mat Having ( count(*) from affectation > 2 )![]()
Partager