Счет DIFFDATE, превышающий указанное значение - шаг 2 - PullRequest
0 голосов
/ 30 марта 2009

В дополнение к моему предыдущему вопросу. Теперь у меня есть два разных запроса, которые работают. Первый запрос возвращает результат 5092, а второй возвращает результат 1885, добавив до 6977. Я хотел бы объединить их в один запрос, чтобы получить результат 6977. Как сделать так, чтобы один запрос подсчитывал количество активный, просроченный более чем на 14 дней и нулевой (считается просроченным)? Заранее спасибо.

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

Ответы [ 2 ]

1 голос
/ 30 марта 2009

Если вам просто нужно количество записей, соответствующих какому-либо набору критериев, просто используйте or в предложении where:

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 голосов
/ 30 марта 2009

При условии, что я правильно понимаю, просто OR два условия вместе:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...