8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je bute sur un petit problème avec une requête sql pour access depuis quelques jours.
Soit une table
- id
- nom
- statut
- delai1
- delai2
- delai3

Je dois compter tous les id qui :
- ont le statut 1 et dont le délai1 est supérieur à la date du jour
- ont le statut 2 et dont le délai2 est supérieur à la date du jour
- ont le statut 3 et dont le délai3 est supérieur à la date du jour

Pour l'instant, j'y arrive très bien via 3 requêtes successives
SELECT COUNT id WHERE statut=1 AND delai1>madate

SELECT COUNT id WHERE statut=2 AND delai2>madate

SELECT COUNT id WHERE statut=3 AND delai3>madate


Ma question :
- Est-il possible d'obtenir ce résultat via une seule requête?

Merci d'avance pour votre aide.
Modifié par sylvaindelepierre (01 Sep 2010 - 21:02)
Salut,

SELECT statut, count(*) FROM matable WHERE 
(statut = 1 AND delai1 > madate) OR 
(statut = 2 AND delai2 > madate) OR 
(statut = 3 AND delai3 > madate) 
GROUP BY statut