TSQL根据日期更改分组/计数

时间:2013-07-19 22:38:29

标签: sql-server tsql ssrs-2008

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

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

这让我很清楚每个团队有多少任务。凉。

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

首先比较已关闭的日期和已注销的日期,然后在两者之前进行比较。 取上述日期(较早的日期)并将其与截止日期进行比较,看是否小于或等于。

如果计数中包含的数量少于或等于。如果超过截止日期,则不计算它。

现在我不确定如何构建此查询,因此非常感谢有关如何合并商业规则的任何指示。

  

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

Vasanth日期全部保存在任务表中。

Bummi。我很快就会收到一些元数据。

1 个答案:

答案 0 :(得分: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