我有一张桌子"书籍"列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
是一个含糊不清的列名。
答案 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