次の表があります。部署ごとに完了した保留中のタスクの数を取得する方法
表:部門
ID int
Name Varchar(50)
表:タスク
Id int
ProjectId int,
TaskName varchar(50)
Status bit() -- 100 for complete else notComplete
表:ユーザー
UserId int
DepId int
Name varchar(50),
表:TeamMember
Id int,
UserId int,
ProjectId int
私はちょうど部門ごとに完了した課題と保留中の課題の数を取得したいと思います。ここに私が試したものです:
select sub.Name,sub.result,count(*)
from (
select tmm.userid,dp.Name,tm.id,tm.ActivityName,CASE ActualComplete WHEN 100 THEN 'done 100' ELSE 'In Complete' END as result
from MasterActivity tm
inner join TeamMember_Master tmm on tmm.projectid=tm.projectid
inner join Users_Master us on us.UserId=tmm.userid
inner join departments dp on us.DepartmentId=dp.id
) sub
group by sub.name,sub.result
こんにちは@dasblinkenlight私は次のクエリを書いていました。 (tmm.userid、dp.Name、tm.id、tm.ActivityName、CASE ActualCompleteを選択した場合)100 THEN '完了100' ELSE '完了' END from MasterActivity tm内部結合TeamMember_Master tmm.projectid = tm.projectid内部結合にUsers_Master us.UserId = tmm.userid 内部結合部dp on us.DepartmentId = dp.id)サブグループby sub.name、sub .result –
これはクエリではるかに良い質問です! – dasblinkenlight