如何根据与SQLite存储在相关表中的ID连接两个表?

时间:2015-06-04 07:23:23

标签: sql sqlite

我有一张桌子"书籍"列id, title, length。我有另一个类型表id,name。最后,我有一个第三个表,用于将两个名为bookGenres的列与id,bId,gId列相关联。

我想运行一个基于bookGenres表获取流派和书籍的选择查询。

我试过像

这样的东西
SELECT 
book.name AS bookName,
book.length AS bookLength,
genres.name AS bookGenre
FROM
book
LEFT JOIN bookGenres ON book.id = bookGenres.bId
LEFT JOIN bookGenres ON genres.id = bookGenres.gId

但是这并没有返回任何结果。我收到一个错误,genres.name不是一个列。当我删除它时,我告诉bookGenres.bId是一个含糊不清的列名。

1 个答案:

答案 0 :(得分:2)

你没有加入类型,你在bookGenres加入了两次

SELECT 
book.name AS bookName,
book.length AS bookLength,
genres.name AS bookGenre
FROM book
LEFT JOIN bookGenres ON book.id = bookGenres.bId
LEFT JOIN genres ON genres.id = bookGenres.gId