Mysql 连接多个外键值
如何使用外键中的多个值从其他表中获取记录。 e、 我以前是一个新生的故事ID。我从subject表中获取subject名称。但是现在我正在集成多个科目的功能,这意味着我的ID列在student中看起来像:120、140,这意味着两个科目现在我如何从另一个表中获取科目名称,例如,我希望在加入它们时,在列中显示英语、数学 这是我当前的查询:Mysql 连接多个外键值,mysql,foreign-keys,Mysql,Foreign Keys,如何使用外键中的多个值从其他表中获取记录。 e、 我以前是一个新生的故事ID。我从subject表中获取subject名称。但是现在我正在集成多个科目的功能,这意味着我的ID列在student中看起来像:120、140,这意味着两个科目现在我如何从另一个表中获取科目名称,例如,我希望在加入它们时,在列中显示英语、数学 这是我当前的查询: 现在,学生和书籍之间有了多对多的关系。为了获得最佳实践,您必须更改数据库结构 解释 让我在这里简单地解释一下 在这种情况下,将形成第三个表,通常称为连接表。两个
现在,学生和书籍之间有了多对多的关系。为了获得最佳实践,您必须更改数据库结构 解释 让我在这里简单地解释一下 在这种情况下,将形成第三个表,通常称为连接表。两个表的所有ID实际上都是该表的行 例如 您可以按照以下方式实现它
student: student_id, first_name, last_name
books: book_id, book_name, book_author_etc
student_books: book_id, student_id # the junction table
示例查询:
// To get all the books for a student.
SELECT b.book_id, name
FROM student_books sb
INNER JOIN books b ON b.book_id = sb.book_id
WHERE sc.student_id = Y
你确定你在使用MySQL吗?它没有ROWNUM。请不要在表列中放置逗号分隔的值。使用多对多关系表,每行一对。
// To get all the books for a student.
SELECT b.book_id, name
FROM student_books sb
INNER JOIN books b ON b.book_id = sb.book_id
WHERE sc.student_id = Y