Requête avec Exists et Not Exists
Bonjour,
Je travaille sur une requête de calcul sur une seule table dont le but est de calculer une somme pour une période définie.
Je cherche une somme des cartes non utilisées l'année dernière mais utilisées les 6 mois avant :
Code:
1 2 3 4 5 6 7 8 9
| select sum(Mtt)
from Table p with (nolock)
where p.date < '2019-01-01'
and not exists (select 1 from Table p2 with (nolock)
where (p2.date >='2018-01-01' and p2.date < '2019-01-01')
and p.carte = p2.carte)
and exists (select 1 from Table p1 with (nolock)
where (p1.date >='2017-07-01' and p1.date < '2018-01-01')
and p.carte= p1.carte) |
* carte est une clé primaire
La requête est hyper longue à s’exécuter.
Est-elle correcte ?
Merci pour vos retours
Séverine