如何在一个表中一起添加两个查询?

时间:2016-12-08 12:29:28

标签: sql ms-access

我想在同一个表上添加两个SQL查询。我想显示一个显示JuniorCount,SeniorCount和DeptID的表。

现在我的查询计算了部门ECE的青少年/大四学生,但我不确定如何将它们一起添加到单独的列以及deptid中。

SELECT COUNT(*) as JuniorCount
FROM (SELECT Class, DeptID FROM tblStudent WHERE Class = "Junior" AND DeptID = "ECE")


SELECT COUNT(*) as SeniorCount
FROM (SELECT Class, DeptID FROM tblStudent WHERE Class = "Senior" AND DeptID = "ECE")

2 个答案:

答案 0 :(得分:6)

这就是你需要的

SELECT DeptID,
sum(case when Class = 'Junior' then 1 else 0 end) as JuniorCount,
sum(case when Class = 'Senior' then 1 else 0 end) as SeniorCount
FROM 
tblStudent WHERE DeptID = 'ECE'
Group by DeptID

在MS ACCESS中

SELECT DeptID,
sum(IIF(Class = 'Junior' ,1,0)) as JuniorCount,
sum(IIF(Class = 'Senior' ,1,0)) as JuniorCount
FROM 
tblStudent WHERE DeptID = 'ECE'
Group by DeptID

答案 1 :(得分:2)

您需要使用GROUP BY来获取每个类的总和。

SELECT Class, COUNT(*)
FROM tblStudent
WHERE Class IN('Junior', 'Senior')
AND AND DeptID = "ECE"
GROUP BY Class

(如果表中只有小辈和老年人,则可以省略CLASS IN部分。)