2016-04-26 93 views
0

私はMicrosoft Accessで作業しています。ライブラリシステム用に3つのテーブルがあります。クエリの構文エラー(演算子が見つかりません)

ブック(ID、タイトル、ページ、ジャンル)

著者(ID、名前)

著者:BOOK_AUTHOR(ID、book_id、AUTHOR_ID)

書籍や著者:BOOK_AUTHORは1を持っています多くの関係

著者と本著者の関係は1対多の関係

は、私は次のクエリ

SELECT authors.name FROM authors WHERE books.id=1 ON books.id=book_author.book_id 

を作ったが、私は次のエラーが助けるthat.Please修正する方法がわからない.I取得しています特定の本の著者の名前を取得する

クエリ内の

構文エラー(演算子がありませんが)

+0

あなたは 'books'を参照していますが、' from'にもありません。あなたは 'join'なしで' on'を持っています – FuzzyTree

+0

それを修正する方法は? –

答えて

0
SELECT authors.name 
FROM authors 
left join book_author on author.id = book_author.author_id 
left join books on books.id = book_author.book_id 
WHERE books.id=1; 
+0

私はそれを試して、質問文にエラー構文エラー(演算子がありません)を返します。 –

+0

book_authorへの最初の結合を行い、whereステートメントとしてbook_author.book_id = 1; – Berra2k

+0

少し具体的にすることができます –

0
Select authors.name, books.title 
from books inner join book_author 
on books.id = book_author.book_id 
inner join authors 
on book_author.author_id = authors.id 

authoの名前を取得します。特定の本のr。
autorのみを表示する場合は、where条件を追加します。

関連する問題