2009-03-30 7 views
0

Suite à ma question précédente. Maintenant, j'ai deux requêtes différentes qui fonctionnent. La première requête renvoie un résultat de 5092 et la seconde renvoie un résultat de 1885 totalisant 6977. Je voudrais les combiner en une requête pour renvoyer un résultat de 6977. Comment puis-je faire en sorte qu'une requête compte le nombre de dates d'évaluation de condition qui sont actif, en retard de plus de 14 jours et nul (compte en retard)? Merci d'avance.Count DIFFDATE dépassant une valeur spécifiée - Étape 2

select count (*) 
from task_conditionassessment t 
    inner join taskitems_conditionassessment ti on 
     t.task_conditionassessmentguid=ti.task_conditionassessmentguid 
    inner join conditionassessmentassignmentitem c on 
     ti.taskitems_conditionassessmentid=c.taskitems_conditionassessmentid 
where datediff(dd,c.conditionassessmentdate,t.nextduedate)>14 and t.isactive=1 


select t.taskname,t.nextduedate,c.conditionassessmentdate 
from task_conditionassessment t 
    inner join taskitems_conditionassessment ti on 
     t.task_conditionassessmentguid=ti.task_conditionassessmentguid 
    inner join conditionassessmentassignmentitem c on 
     ti.taskitems_conditionassessmentid=c.taskitems_conditionassessmentid 
where c.conditionassessmentdate IS NULL and t.isactive=1 

Répondre

1

Si vous voulez juste un nombre d'enregistrements qui correspondent soit ensemble de critères, il suffit d'utiliser un or dans votre where article :

select count (*) 
from task_conditionassessment t 
inner join taskitems_conditionassessment ti on 
    t.task_conditionassessmentguid=ti.task_conditionassessmentguid 
inner join conditionassessmentassignmentitem c on 
    ti.taskitems_conditionassessmentid=c.taskitems_conditionassessmentid 
where (c.conditionassessmentdate IS NULL or 
     datediff(dd,c.conditionassessmentdate,t.nextduedate)>14) and 
     t.isactive=1 
0

A condition que je comprends bien, juste OR les deux conditions ensemble:

select count (*) 
from task_conditionassessment t 
    inner join taskitems_conditionassessment ti on t.task_conditionassessmentguid=ti.task_conditionassessmentguid 
    inner join conditionassessmentassignmentitem c on ti.taskitems_conditionassessmentid=c.taskitems_conditionassessmentid 
where (datediff(dd,c.conditionassessmentdate,t.nextduedate)>14 
     or c.conditionassessmentdate IS NULL) 
    and t.isactive=1 
Questions connexes