繁体   English   中英

使用映射表查询两个数据库

[英]Query Two Databases with a Map table

我一直在拔头发...我非常确定它的僵硬程度足够向前..但我找不到答案。

我想做的是从两个表中提取信息。 我刚加入JOIN。 我想作为一个实际例子,可以说我有一个图书数据库(id,书名,作者,版本,年份)。 然后我有了一个类的数据库(id,subject,teacher)。 有些班级会使用同一本书。 因此,我创建了一个映射表,如下所示:

Select-Query / Joinamanytomanymaptable.htm“> http://www.java2s.com/Tutorial/MySQL/0040_Select-Query/Joinamanytomanymaptable.htm

我创建了一个名为ClassBook的表,其中一列列出了类ID(ClassID),​​另一列列出了书ID(BookID)。

我想要的是根据类绘制BOOK信息。 因此,如果班级ID是3,我希望所有与该班级相关的书籍及其信息。 以下是Im查询的示例:

SELECT * FROM ClassBook加入ClassID = 3的书

通过此查询,如果类ID(3)在表(ClassBook)中是8次,则它将输出每本书及其信息8次。 我只需要与班级ID 3相关的书籍及其信息。 任何帮助,我们将不胜感激!

尝试这个

SELECT books.* FROM ClassBook CB
JOIN books ON  CB.bookid=Books.id
WHERE cb.ClassID=3 

该联接将为班级图书表中的所有列以及共享相同图书ID号的图书表中的所有列创建较大的“结果” ... WHERE子句仅显示来自较大结果的结果,这些结果用于ClassID = 3。 books。*语法仅显示books表中的列,*本身将显示两个表中的所有列。

SELECT * FROM class
JOIN ClassBook on class.id = ClassBook.ClassID
JOIN books on ClassBook.BookID = books.id
WHERE Class.ID = 3;

这就是将所有内容链接在一起的格式。 注意,通常放置on子句来描述与要连接的表相关的条件。 where子句用于限制所选的记录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM