我有一种情况,即在一张桌子中我有Course, Semester and University
列,在另一张桌子中我有Book Number, Author, Booktitle, Publication and Year
。对于每门课程,每学期和每所大学的书都不同(即Book Number, Author, Booktitle, Publication
),我要做的是基于课程,学期和大学,我必须检索Book Number, Author, Booktitle and Publication
的值。即我正在做B.E. Mech,第二年意味着,书号,作者,书签和出版物的检索值应与B.E.相对应。机械,二年级书籍。
答案 0 :(得分:0)
您必须在两个表中都有一个公共列。例如,在两个表中添加course_id,以便您可以使用此公共列连接两个表
答案 1 :(得分:0)
根据我的理解,一本书可能有多个课程/学期/大学组合,每个课程/学期/大学可能不止一本书?这是many-to-many关系,只能通过第三个表来解决:
CsuToBooks
----------
CsuID
BookID
填写此表时,在查询中使用两个“LEFT JOIN”关系:
SELECT Course, Semester, University, BookNumber
FROM csu
LEFT JOIN CsuToBooks ON (csu.ID = CsuToBooks.csuID)
LEFT JOIN Books ON (CsuToBooks.BookID = Books.ID)
答案 2 :(得分:0)
在第一个表格中,添加一个Book_number列。这将提供2个表之间的映射。 然后你可以编写像
这样的查询Select * from book_table
where book_table.book_number = course.book_number
AND course.course = <course name>
AND course.Semester = <semester>
AND course.university = <university
答案 3 :(得分:0)
你需要一个链接表,因为(大概)书籍和课程有多对多的关系。因此,您将拥有带有CourseID和BookID列的Courses_Books。
答案 4 :(得分:0)
SELECT
booknumber,
author,
booktitle,
publication
FROM
table1,
table2
WHERE
course = 'mech' AND semester = 4