2014-09-25 60 views
0

我有表authors(列idname),表books(列idtitle)SQLite数据库和表books_authors_link(列idbook_idauthor_id)。如何在M:N关系中对两个表执行SELECT查询?

理想情况下,我想发出一个查询结果的每一行有book.titleauthor.name,以便迭代结果我可以很容易地打印"I, Partridge" by Alan Partridge

那么我想在这里选择什么? SELECT name FROM authors AND title FROM books WHERE books.id = authors.id什么的......我不能很好地解决它,并会感激小费。

回答

1
select b.title, a.name 
    from authors a 
    join books_authors_link bal 
    on a.id = bal.author_id 
    join books b 
    on b.id = bal.book_id 

你只需要加入基于你的表之间的隐含关系的表。

+0

辉煌,谢谢你。完美的作品,给我一个学习关于连接的好起点。 – GreenTriangle 2014-09-25 08:35:16

1

您可以尝试使用Inner Join

Select A.name,B.title from TB_authors A inner join TB_books B on A.id = B.id where B.id = 'xxx'