【发布时间】:2014-12-09 11:26:43
【问题描述】:
我正在尝试根据他们的状态获取学生列表,按他们的大学分组。
所以我有三个表,学生和学院。每个学生记录都有一个状态,可以是“Prospect”、“Accepted”或“WebApp”。我需要做的是根据所选状态获取学生列表,然后显示学院的名称,以及进入该学院并将其状态设置为传入状态的学生人数。我认为这需要是一个聚合查询,因为计数来自字符串状态字段。
我不确定如何在 MS SQL 中执行此操作,因为计数来自同一个表并且它基于状态字段的值。
这是我的查询的开始,它接受搜索参数,但我不知道如何过滤状态以返回计数。
SELECT Colleges.Name, [Status], Count([Status])
FROM Students
JOIN Colleges ON Students.UniversityId = Colleges.id OR Students.+College = Colleges.Name
GROUP BY Students.[Status], Colleges.Name
ORDER BY Colleges.Name;
接受 = 状态('接受') WebApps = 状态('WebApp') 总计 = 总和(Accpets + WebApps)
【问题讨论】:
-
您在寻找 linq 或 SQL 解决方案吗?
标签: c# sql-server linq entity-framework