花费超过3小时后,我放弃了。选择总计只返回SQL Server中的一条记录
我有四个表:
Users, Approvals, Centers, Managements
我的最终目标是让用户在用户角色分开各自管理的总数量(我有两个角色在这里:家长和社会成员)
我一直在使用下面的代码
select
(select count(r.StudentId)
from Users u
where u.UserId = r.StudentId and u.RoleId = 10) as Parents,
(select count(r.StudentId)
from Users u
where u.UserId = r.StudentId and u.RoleId = 11) as SocietyMembers,
e.ManagementId, e.ManagmentTitle
from
CentersRegistrationsApprovals r --ON r.StudentId = u.UserId
inner join
Centers c ON c.CenterId = r.CenterId
inner join
Managments e ON e.ManagementId = c.EducationManagementId
group by
e.ManagementId, e.ManagmentTitle, StudentId
我期待的查询结果是因为以下几点:
Parents SocietyMambers ManagementId ManagementName
----------------------------------------------------------------
3 3 10 North Region
但结果总是被设置给了我
Parents SocietyMambers ManagementId ManagementName
----------------------------------------------------------------
3 NULL 10 North Region
NULL 3 10 North Region
任何想法如何巩固结果只有1记录?
删除组由 –
@KannanKandasamy那么你不能在SELECT子句中使用它 –