select count> select count
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 :
Code:
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 |
elle donne :
Code:
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 |
Ma requete qui ne me donne pas satisfaction est :
Code:
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 |
et le resultat:
on devrait avoir que 61-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.