从SQLite中的另一个表中按一个字段多列
我是一名教师,使用SQLite管理我的成绩册。一般来说,我对数据库和编程都是新手 我有两张桌子。其中一张显示了学生和考试成绩以及论文 Student table student| Test | Essay -------------------- Skudd | 50 | 10 Jim | 25 | 11 学生桌 学生|测试|论文 -------------------- Skudd | 50 | 10 吉姆25岁11岁 另一个显示“超出标记”和最重的重量 Assessment Table Assessment | Out_of | weight | ----------------------------- Test | 50 | 60 | Essay | 15 | 40 | 评估表 评估|超出|权重| ----------------------------- 测试| 50 | 60| 随笔| 15 | 40 | 我想创建一个视图,从student表中获取每个学生的考试成绩,然后除以评估表中的out_分数,计算出一个百分比 像这样 New View Student | Test | Essay | --------|------|-------| Skud | 100 | 66 | Jim | 50 | 73 | 新观点 学生|测试|论文| --------|------|-------| Skud | 100 | 66| 吉姆| 50 | 73|从SQLite中的另一个表中按一个字段多列,sqlite,Sqlite,我是一名教师,使用SQLite管理我的成绩册。一般来说,我对数据库和编程都是新手 我有两张桌子。其中一张显示了学生和考试成绩以及论文 Student table student| Test | Essay -------------------- Skudd | 50 | 10 Jim | 25 | 11 学生桌 学生|测试|论文 -------------------- Skudd | 50 | 10 吉姆25岁11岁 另一个显示“超出标记”和最重的重量 Assessmen
如何将评估表(测试字段)中的单个值乘以/除以学生成绩表中的多个记录只需使用子查询查找这些值:
SELECT Student,
Test / (SELECT Out_of
FROM Assessment
WHERE Assessment = 'Test'
) AS Test,
Essay / (SELECT Out_of
FROM Assessment
WHERE Assessment = 'Essay'
) AS Essay
FROM Student;
也可以联接表,但对于这种单值查找,通常不会这样做:
SELECT Student,
Test / Test_Ass.Out_of,
Essay / Essay_Ass.Out_of
FROM Student
JOIN Assessment AS Test_Ass ON Test_Ass.Assessment = 'Test'
JOIN Assessment AS Essay_Ass ON Essay_Ass.Assessment = 'Essay';
很有魅力,非常感谢。“测试”和“测试”之间似乎有区别。我不知道引用类型有什么不同。