2
У меня есть таблицы:ВЫБРАТЬ многие ко многим таблиц в одном запросе
**RUBRIC:** `RubricID, RubricName`
**AUTOR:** `AutorID, FirstName, LastName`
**BOOK:** `BookID, BookName, book_photo`
**BOOKAUTOR:** `BookID, AutorID`
**BOOKRUBRIC:** `BookID, RubricID`
Я хочу написать в одном запросе SELECT, чтобы вернуть BookName, ПгвЬЫат, LastName, RubricName.
У меня есть отдельный запрос, но я не знаю, как это записать в одном выборе. Это то, что я получил:
SELECT book.BookName, autor.FirstName, autor.LastName FROM bookautor JOIN book ON book.BookID=bookautor.BookID JOIN autor on autor.AutorID=bookautor.AutorID;
SELECT rubric.RubricName FROM bookrubric JOIN rubric ON rubric.RubricID=bookrubric.RubricID;
Это хорошо работает, но как писать в одном выбрать?
Я стараюсь это, но он не работает:
SELECT book.BookName, autor.FirstName, autor.LastName, rubric.RubricName FROM bookautor,bookrubric JOIN book ON book.BookID=bookautor.BookID JOIN autor on autor.AutorID=bookautor.AutorID LEFT JOIN rubric ON rubric.RubricID=bookrubric.RubricID;
возвращает ошибку:
ERROR 1054 (42S22): Unknown column 'bookautor.BookID' in 'on clause'
это работает, спасибо, но вы можете пожалуйста, если вы можете объяснить, почему «от bookautor» и почему LEFT JOIN? – Nevada