我必须显示以下三个表中的数据('dbo.BookAuthor'是映射表)。
我需要编写一个存储过程来从存储过程中检索数据,并将该数据填充到DataGridView中,如下所示。
DataGridView to display above data
请帮我编写SQL查询,通过匹配ID来使用中间BookAuthor表从Book和Author表中检索数据。
这就是我的数据库的设计方式。书籍表的主键为Book_ID
作者表的主键也为Author_ID
因为每本书都可以由多位作者书写,所以我已经放置了另一张表(BookAuthor
表)来映射每本书及其作者。
因此,BookAuthor
表同时具有Book_ID
和Author_ID
作为Book表和Author表中的外键,包括它自己的主键BookAuthor_ID
。
有人可以告诉我用于检索每本书的Book_Title和Author_Name的SQL查询。
答案 0 :(得分:2)
这是非常基本的SQL
我建议你阅读一个sql教程。
您需要的是JOIN
试试这个:
SELECT [Name], [Title]
FROM Book
INNER JOIN BookAuthor ON(Book.Book_Id = BookAuthor.Book_Id)
INNER JOIN Author ON(BookAuthor.Author_Id = Author.Author_Id)
此外,对于将来的问题,请将您的表格描述为使用DDL语句,并在需要时使用DML语句提供示例数据。在问题的文本中将所需的输出更好地描述为代码块。有关详细信息,请阅读how to ask.