0

是否可以在没有外键的情况下连接表?例如

tblstudent 列:

  1. ID
  2. 中间名字

tblgrade 通信:

  1. ID
  2. 测验
  3. 项目
  4. 考试

tblfinalgrade 列:

  1. 最终成绩

    搜索和id时可以查看最终成绩吗?

4

1 回答 1

1

id intblStudent没有意义,因为您没有在其他表中引用它。更改您的表结构以包含 thisStudentId而不是First Nameand Last Name

例如:

tbl等级

列:

  • 等级 ID
  • 学生卡
  • 测验
  • 项目
  • 考试

tbl期末成绩

  • FinalGradeId
  • 学生卡
  • 期末成绩

然后你可以这样做:

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

这将是一个比加入更好的结构FirstNameLast 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
于 2013-06-25T07:44:06.880 回答