Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL-从两个独立表的列中添加总计_Sql - Fatal编程技术网

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

SQL-从两个独立表的列中添加总计,sql,Sql,在此填写新手,尝试从兼职学生和全日制e学生中找出学生总数,并在命名列中显示总数 partTimeStudents**(bannerID, moduleCode, modStartDate, rvisitorID) fullTimeStudents**(bannerID, courseCode, crsStartDate, rvisitorID) 提前感谢您提供的任何帮助:)您不应该仅仅为了区分全职/兼职学生而选择两张桌子。您只需在表中选择一个标志,如下所示: students(bannerI

在此填写新手,尝试从
兼职
学生和
全日制
e学生中找出学生总数,并在命名列中显示总数

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

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

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

您不应该仅仅为了区分全职/兼职学生而选择两张桌子。您只需在表中选择一个标志,如下所示:

students(bannerID, Code, modStartDate, rvisitorID, timeFlag)
在TimeLag中,您可以管理学生是全职还是兼职

现在要统计所有学生[全日制+兼职]:

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

你不应该只拿两张表来区分全职/兼职学生。您只需在表中选择一个标志,如下所示:

students(bannerID, Code, modStartDate, rvisitorID, timeFlag)
在TimeLag中,您可以管理学生是全职还是兼职

现在要统计所有学生[全日制+兼职]:

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

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

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

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

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

提供表结构或其他一些与数据库设计有关的问题为什么有两个单独的表?提供表结构或其他与数据库设计有关的问题为什么有两个单独的表?如果
moduleCode
courseCode
引用不同的表,那么
student(bannerID、moduleCode、courseCode、startDate、rvisitorID)
可能是一个更好的模式。它还有一个约束,只强制其中一个代码列具有值,这可以作为区分全职学生和兼职学生的方式。@安德烈:是的,这也是一个很好的选择。至少比两个表开销要好。如果
模块代码
课程代码de
参考不同的表格,然后
学生(bannerID、moduleCode、courseCode、startDate、rvisitorID)
可能是一个更好的模式。它也会有一个约束,只强制其中一个代码列具有值,这可以作为区分全职学生和兼职学生的方式。@安德烈:是的,这也是一个很好的选择。至少比两个表的开销要好。