.open my.db
.header on
.separator ,
.mode column
create table 变量(名称,值);
create table 专业(id,名称);
create table 选课(专业id,课程id,备注);
create table 课程(id,名称);
create table 学生(id,年级,专业id,姓名,性别,地址,邮编,层次,身份证,电话,教学点,备注);
create table 成绩(学生id,课程id,成绩,上报,备注,考试时间);
create view 个人情况 as
with
x as
(select 值 from 变量 where 名称='准考证')
select 姓名,身份证,学生.专业id as 专业代码,专业.名称 as 专业名称 from 学生 join 专业 on 学生.专业id=专业.id where 学生.id in x
union all
select '准考证',id,'','' from 学生 where id in x
union all
select '课程代码','课程名称','成绩','考试时间'
union all
select 课程id,课程.名称,成绩,考试时间 from 成绩 join 课程 on 成绩.课程id=课程.id where 成绩.学生id in x;
create view 未通过情况 as
with
a1 as
(select 学生.id as id,专业id,专业.名称 as 专业名称,姓名 from 学生 join 专业 on 学生.专业id=专业.id),
a2 as
(select 学生id,课程id,成绩,上报,备注,考试时间,课程.名称 as 课程名称 from 成绩 join 课程 on 成绩.课程id=课程.id),
a3 as
(select 学生id as 准考证,课程id as 课程代码,上报,备注,考试时间,课程名称,专业id as 专业代码,专业名称,姓名 from a1 join a2 on a1.id=a2.学生id)
select 准考证,课程代码,'上报不成功' as 未通过,备注,考试时间,课程名称,专业名称,姓名,专业代码 from a3 where 上报='0'
union all
select 准考证,课程代码,'考试没通过' as 未通过,备注,考试时间,课程名称,专业名称,姓名,专业代码 from a3 where 成绩*1<60 and 成绩!='免';
.import 专业.csv 专业
.import 选课.csv 选课
.import 课程.csv 课程
.import 学生.csv 学生
.import 成绩.csv 成绩 |