我有3個表obl_books,obl_authors和鏈接表books_authors。 現在的問題是: 撰寫一個查詢,只選擇那些所有作者都屬於印度國籍的書籍。sql:group by和子句問題
,我寫了這個查詢是
SELECT obl_books.*, books_authors.author_id
FROM books_authors,obl_authors,obl_books
WHERE books_authors.author_id = obl_authors.author_id
AND books_authors.book_id=obl_books.book_id
GROUP BY books_authors.book_id
HAVING books_authors.author_id IN (SELECT obl_authors.author_id FROM obl_authors WHERE nationality='Indian')
國籍是obl_authors表的列和一本書可以有多個作者。所以如果book_id(2)有author_id(1),author_id(2)其中author_id(1)和(2)是印第安人,那麼它應該返回,如果作者之一不是印度人,它不應該。 。
但我的查詢甚至返回book_id。
我甚至用到位的所有關鍵字變化having子句我的,但它不返回任何行..
請幫助:(
爲什麼按分句? – Ravi
用示例數據發佈表結構 – Akhil