2016-04-26 13 views
0

Ich arbeite an Microsoft Access.Ich habe drei Tabelle für ein Bibliothekssystem.Syntaxfehler (fehlender Operator) in Abfrage

Bücher (id, titel, seite, genre)

Autoren (id, name)

BOOK_AUTHOR (id, book_id, author_id)

Bücher und BOOK_AUTHOR 1 bis Beziehung

Autoren und book_authors 1 bis Beziehung

den Namen des Autors eines bestimmten Buchs bekommen ich die folgende Abfrage gemacht

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

Aber ich erhalte die folgenden Fehler .Ich weiß nicht, wie

that.Please helfen zu beheben

Syntaxfehler (fehlender Operator) in Abfrage

+0

Sie beziehen sich auf 'Bücher', aber es ist nicht in Ihrem' von' auch, Sie haben ein 'on' ohne' 'Join'' – FuzzyTree

+0

, wie es zu beheben? –

Antwort

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

Ich habe es versucht und gibt mir den Fehlersyntaxfehler (fehlender Operator) in Abfrage –

+0

was ist, wenn Sie nur den ersten Join zu book_author und als where-Anweisung nur sagen book_author.book_id = 1; – Berra2k

+0

können Sie ein wenig konkreter sein –

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 

Holen Sie sich den Namen des autho r eines bestimmten Buches.
Wenn Sie nur den Autor anzeigen möchten, fügen Sie eine Where-Bedingung hinzu.

Verwandte Themen