0

我有这个非常简单的查询:

SELECT
   Team.Code,
   COUNT(Task.TaskID)
FROM Tasks Task
LEFT JOIN Teams AS Team
ON teamid = task.teamid
WHERE....

GROUP BY Team.Code ORDER BY Team.Code

这对我来说很好地计算了每个团队有多少任务。凉爽的。

现在我需要更进一步,为这些任务的日期实施一些业务规则。

首先将关闭日期与签署日期进行比较,并取两者中较早的日期。取上述日期(较早的日期)并将其与到期日进行比较,看看是否小于或等于。

如果小于或等于计数。如果超过截止日期,则不计入。

现在我不太确定如何构建此查询,因此将不胜感激任何有关如何合并 biz 规则的指针。

我很抱歉,伙计们。没有足够的信息完全是我的错。

Vasanth 的日期都保存在任务表中。

布米。我很快就会整理出一些元数据并发布。

4

1 回答 1

1

下面的查询将使您开始了解您的商业规则。

询问:

select 
       Teams.Code,
       count(Tasks.TaskID)
from
     Tasks
     inner join Teams on Teams.TeamID = Tasks.TeamID
     inner join (
                     select TeamID, min(case when DateClosed < DateSignedOff then DateClosed  else DateSignedOff  end) MinDateNeeded
                     from Tasks
                     group by TeamID
                ) as FirstCondition on FirstCondition.TeamID = Teams.TeamID
where
   Tasks.DueDate >= FirstCondition.MinDateNeeded
group by
   Teams.Code
于 2013-07-19T23:32:09.537 回答