SQLite中另一个表中的一个字段多列一列

时间:2016-04-09 11:48:44

标签: sqlite

我是一名使用SQLite来管理我的成绩簿的老师。我是数据库和编程的新手。

我有两张桌子。一个显示学生和考试和论文的成绩。

Student table

student| Test | Essay 
--------------------
Skudd  | 50   | 10
Jim    | 25   | 11

另一个显示"标记"和学期的重量。

Assessment Table

Assessment | Out_of | weight |
-----------------------------
Test       |   50   |    60  |
Essay      |   15   |    40  | 

我想创建一个视图,该视图将从学生表中取出每个学生的考试成绩,并除以评估表中的out_of标记来计算百分比。

像这样

New View

Student | Test | Essay |
--------|------|-------|
Skud    | 100  |  66   |
Jim     | 50   |  73   |

如何将评估表(测试字段)中的单个值多重/除以学生成绩表中的多个记录

1 个答案:

答案 0 :(得分:0)

只需使用子查询查找值:

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';