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

これにより、各チームが持っているタスクの数が適切にカウントされます。涼しい。

ここで、さらに一歩進んで、これらのタスクの日付に関するいくつかのビジネス ルールを実装する必要があります。

最初に、終了日とサインオフ日を比較し、2 つのうち早い方を取ります。上記の日付 (早い方) を期日と比較して、それ以下かどうかを確認します。

それ以下の場合はカウントに含めます。期日を過ぎている場合はカウントしません。

現在、このクエリをどのように構成すればよいかよくわからないので、ビジネス ルールを組み込む方法についての指針をいただければ幸いです。

ごめんなさい。十分な情報がありません。完全に私のせいです。

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 に答える