Requête SQL par group (group by ... having)
letissya
Messages postés
89
Statut
Membre
-
fsamir34 -
fsamir34 -
Bonjour,
j'ai une table qui ressemble à ça :
problème action status_action type_action date_action
pb1 act1 terminer reussie 14/02/03
pb1 act2 reporter ratée 12/02/03
pb2 act3 terminer ratée 15/07/03
pb3 act12 terminer réussie 12/03/03
pb3 act3 terminer réussie 14/04/03
il faut que je récupère la date la plus récente pour un problème dont les actions sont et terminer et réussie...
dans le cas de ma table il n'y a que le pb3 qui est concerné il faudrait que je récupère 14/04/03
avant d'obtenir la date j'essais d'abors de récupérer les problèmes qui ont leur actions terminée et réussie...
pour cela je fait
select probème,
action,
status_action,
type_action,
date_action
from MA_TABLE
group by problème
action,
status_action,
type_action,
date_action
having status_action='terminer' and type _action ='reussie'
cependant ça ne fait qu'éliminer les lignes où les actions ne conviennent pas...
je peux avoir dans mes résultats
pb1 act1 terminer reussie 14/02/03
alors que pour le même problème il y a des action qui ne vont pas!
je souhaiterais que ça enlève toutes les lignes dont le problème prossède au moins une action qui ne convient pas
merci pour votre aide
letissya
j'ai une table qui ressemble à ça :
problème action status_action type_action date_action
pb1 act1 terminer reussie 14/02/03
pb1 act2 reporter ratée 12/02/03
pb2 act3 terminer ratée 15/07/03
pb3 act12 terminer réussie 12/03/03
pb3 act3 terminer réussie 14/04/03
il faut que je récupère la date la plus récente pour un problème dont les actions sont et terminer et réussie...
dans le cas de ma table il n'y a que le pb3 qui est concerné il faudrait que je récupère 14/04/03
avant d'obtenir la date j'essais d'abors de récupérer les problèmes qui ont leur actions terminée et réussie...
pour cela je fait
select probème,
action,
status_action,
type_action,
date_action
from MA_TABLE
group by problème
action,
status_action,
type_action,
date_action
having status_action='terminer' and type _action ='reussie'
cependant ça ne fait qu'éliminer les lignes où les actions ne conviennent pas...
je peux avoir dans mes résultats
pb1 act1 terminer reussie 14/02/03
alors que pour le même problème il y a des action qui ne vont pas!
je souhaiterais que ça enlève toutes les lignes dont le problème prossède au moins une action qui ne convient pas
merci pour votre aide
letissya
A voir également:
- Requête SQL par group (group by ... having)
- Requête sql pix - Forum Python
- Gd group prélèvement - Forum Consommation & Internet
- Cwi group avis - Forum Consommation & Internet
- Group office - Télécharger - Bureautique
- To be filled by o.e.m - Forum Windows
3 réponses
Salut,
est-ce que ceci te donne le résultat que tu veux ?
SELECT Problème, act, status_Action, type_action, date_action
FROM Ta_Table
WHERE (status_Action = 1) AND (type_action = 1)
GROUP BY Problème, act, date_action, status_Action, type_action
HAVING (NOT (Problème IN (SELECT Problème FROM tempNB030414 WHERE (type_action = 'rate'))))
ciao
There's no success like failure
And failure's no success at all
est-ce que ceci te donne le résultat que tu veux ?
SELECT Problème, act, status_Action, type_action, date_action
FROM Ta_Table
WHERE (status_Action = 1) AND (type_action = 1)
GROUP BY Problème, act, date_action, status_Action, type_action
HAVING (NOT (Problème IN (SELECT Problème FROM tempNB030414 WHERE (type_action = 'rate'))))
ciao
There's no success like failure
And failure's no success at all