SQL - 从两个单独的表的列中添加总计

时间:2011-04-08 11:40:00

标签: sql

在这里完成新手,试图找出来自part-time学生和full-tim e学生的学生总数,并在指定栏中显示总数。

partTimeStudents**(bannerID, moduleCode, modStartDate, rvisitorID)

fullTimeStudents**(bannerID, courseCode, crsStartDate, rvisitorID)

提前感谢您提供的任何帮助:)

3 个答案:

答案 0 :(得分:2)

select
  (select count(*) from partTimeStudents)+
  (select count(*) from fullTimeStudents) as Total

答案 1 :(得分:1)

我同意其他人对数据库设计的看法,但这里有一个满足您要求的查询示例。

SELECT SUM(students_count)
FROM (
   SELECT COUNT(*) AS students_count 
   FROM partTimeStudents 
   UNION ALL 
   SELECT COUNT(*) AS students_count 
   FROM fullTimeStudents
)

答案 2 :(得分:0)

你不应该只用2张桌来区分全职/兼职学生。你可以简单地在表格中拿一面旗帜,如:

students(bannerID, Code, modStartDate, rvisitorID, timeFlag)

在timeFlag中,您可以管理学生是全职还是兼职。

现在计算所有学生[全职+兼职]:

select count(*) from students;

并且对全日制学生或者是学生来说是有意义的:

select count(*) from students where tiemFlag=1; //--- assuming 1 is for fulltime
select count(*) from students where tiemFlag=0; //--- assuming 0 is for parttime