是否可以在没有外键的情况下连接表?例如
tblstudent 列:
- ID
- 名
- 姓
- 中间名字
tblgrade 通信:
- ID
- 测验
- 项目
- 考试
tblfinalgrade 列:
名
姓
最终成绩
搜索和id时可以查看最终成绩吗?
是否可以在没有外键的情况下连接表?例如
tblstudent 列:
tblgrade 通信:
tblfinalgrade 列:
名
姓
最终成绩
搜索和id时可以查看最终成绩吗?
id intblStudent
没有意义,因为您没有在其他表中引用它。更改您的表结构以包含 thisStudentId
而不是First Name
and Last Name
。
例如:
tbl等级
列:
tbl期末成绩
然后你可以这样做:
SELECT ID, FirstName, LAstName, Quiz, Project, Exam, FinalGrade
FROM tblStudent
INNER JOIN tblGrade ON tblGrade.StudentId = tblStudent.StudentId
INNER JOIN tblFinalGrade ON tblFinalGrade.StudentId = tblStudent.StudentId
这将是一个比加入更好的结构FirstName
,Last Name
只是以防万一你有 5John Smith
你怎么知道你正在返回正确的成绩?
尽管我略微反对您的原始设计,但您可以通过运行以下查询来使用现有结构执行相同的查询:
SELECT ID, FirstName, LAstName, Quiz, Project, Exam, FinalGrade
FROM tblStudent
INNER JOIN tblFinalGrade ON tblFinalGrade.FirstName = tblStudent.FirstName AND tblFinalGrade.LastName = tblStudent.LastName
WHERE tblStudent.ID = 1