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)
可能是一个更好的模式。它也会有一个约束,只强制其中一个代码列具有值,这可以作为区分全职学生和兼职学生的方式。@安德烈:是的,这也是一个很好的选择。至少比两个表的开销要好。