来自同一张桌子的两次froeign密钥

时间:2016-04-02 23:57:09

标签: sql database foreign-keys relational-database entity-relationship

我在查询此类设计时遇到问题

enter image description here

我需要选择此信息(student_beginner,student_finalYear,项目)。我在“student_project”表中遇到的问题只是来自“student”和“project”表的主键的整数。在Result中必须是“student”和“project”表中的实际值。

1 个答案:

答案 0 :(得分:1)

我不确切地知道你是什么意思。我会试着猜测:

你的意思是:

Select student_beginner, student_finalYear, project from student_project

这将选择您想要的字段。

另一方面,此查询返回项目ID的项目名称:

Select sp.student_beginner, sp.student_finalYear, p.project_name 
FROM student_project sp 
JOIN project p ON sp.project = p.id

或者你可以这样加入三个表。请注意,在这种情况下,我也会返回学生的身份证。

Select s.name, sp.student_beginner, sp.student_finalYear, p.project_name 
FROM student_project sp 
JOIN project p ON sp.project = p.id
JOIN student s ON sp.id = s.id