2012-08-15 94 views
0

看一看下面的查詢:MySQL的語法 - 選擇基於多個參數選擇行?

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

我想顯示的表給出了一定的風格下的書名和評級。

每本書的流派都是在book_genres中定義的,每本書的外鍵與流派之間都有關係。

我沒有被返回任何錯誤,當我嘗試執行查詢 - 我只是得到一個空集。所以我在正確的軌道上,但我顯然做錯了什麼。我將如何獲得理想的結果?

如果有什麼不清楚的地方,讓我知道,我會澄清。

+0

你是從哪裏來的多個表中選擇,你通常可以選擇使用JOIN或UNION。 – Gunnar 2012-08-15 11:59:03

回答

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 
0

試試這個

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