Bonjour.
Je me tourne vers vous car je n'arrive pas à faire ma requete pour obtenir ce que je veux
J'ai une table SuiviCollaborateurs avec 4 champs:IdCollaborateur (non unique),Theme,Commentaire et Datesaisie
dans les themes, j'ai entre autre 'Caution' et 'Retour caution'
Sachant que pour un meme id, je peux avoir plusieurs 'Caution' et 'Retour caution' comme Theme, je cherche à remonter les id qui ont plus de 'Caution' que de 'Retour caution'.
Et oui, l'id me servira pour récuperer des infos dans une table, mais j'espére me débrouiller pour modifier la requete quand elle me repontera les id.
la requete de verification est :
elle donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select IdCollaborateur,Theme,COUNT(IdCollaborateur) as nombre from SuiviCollaborateurs where (Theme='Caution' or Theme='Retour caution') group by IdCollaborateur,Theme order by IdCollaborateur,Theme
Ma requete qui ne me donne pas satisfaction est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 61 Caution 5 61 Retour caution 2 75 Caution 1 75 Retour caution 1 117 Caution 3 117 Retour caution 2 422 Caution 3 422 Retour caution 1 423 Caution 2
et le resultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select IdCollaborateur from SuiviCollaborateurs where Theme='Caution'and (select count(IdCollaborateur) from SuiviCollaborateurs where Theme='Caution')> (select count (IdCollaborateur) from SuiviCollaborateurs where Theme='Retour caution') group by IdCollaborateur order by IdCollaborateur
on devrait avoir que 61-117-422-423
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 61 75 117 422 423
Je sais bien que c'est parce que dans la clause where, la requete balaie tous les id et ne prends pas en compte que celui du select en cours mais je n'arrive pas voire comment faire.
Merci de vos suggestion.







Répondre avec citation
Partager