MySQL语法 - 选择基于多个参数的行?

时间:2012-08-15 11:52:50

标签: mysql sql database database-design

查看以下查询:

SELECT title,rating from books, book_genres WHERE
books.id = (book_genres.book_id = (book_genres.book_id=2));

我正在尝试显示一个表格,其中显示某种类型下的书籍的标题和评级。

每本书的类型在book_genres中定义,每本书和流派的外键之间存在关系。

当我尝试执行查询时,我没有返回任何错误 - 我只是得到一个空集。所以我走在正确的轨道上,但我显然做错了什么。我怎样才能得到理想的结果?

如果有什么不清楚,请告诉我,我会澄清。

2 个答案:

答案 0 :(得分:2)

尝试:

SELECT b.title, b.rating from books b
LEFT JOIN book_genres bg ON(bg.book_id = b.book_id)
WHERE b.book_id = 2

答案 1 :(得分:0)

试试这个

SELECT b.title, b.rating from books b, book_genres bg
WHERE bg.book_id = b.book_id and b.book_id = 2