我正在开发名为“ExaminationDB_Test”的数据库。目标是管理学生考试数据。但是,在我们进入考试系统之前,我们需要管理学生的基本数据,例如班级,科,组等。
我制作了以下表格:
以下是表格设计:
学生:
类别:
群组
节
主要数据:
这些表中的数据:
学生:
类别:
组:
节:
PrimaryData:(它是空的,因为这些都是上面表的外键!)
数据库图表:
此处的目标是使用学生名单选择学生的所有数据。
我尝试了以下查询:
val vertexRDD: RDD[(VertexId, String)] = graph.vertices.filter{
case (_, (str)) =>
scala.util.Try(str.toInt).isSuccess
}
输出必须包含组名,类名和部分名称!
我在StackOverflow上尝试了大多数关于 JOINS 的解决方案 但这个结果总是一样的。
请帮我解决这个问题!
答案 0 :(得分:1)
PrimaryData表是基于您的ERD在学生与科,班级和组之间的映射表。在没有primarydata数据的情况下,您如何期待学生的科,班和组数据?
将记录插入primarydata表。这对你有用。
insert into primarydata values (1001,'FSC1',1001,'Engg')
添加此条目后,修改您的查询并添加section,class和group master table以获取名称。
答案 1 :(得分:1)
SELECT * FROM Student cross Join PrimaryData ON PrimaryData.StuID=Student.StuRollNo where Student.StuRollNo='1001';
select E.*
FROM Student E
CROSS JOIN PrimaryData P
WHERE P.StuID = E.StuRollNo
and E.StuRollNo = '1001'
由于列之间没有匹配,请尝试使用左外连接等显式连接。
答案 2 :(得分:0)
我看到StuRollNo是int,但你把' 1001'作为字符串。