Задавайте вопросы, мы ответим
Вы не зашли.
У меня такая проблема,
у меня есть три таблички
1) books
id name description price
2) authors
id name
3) book_author
book_id author_id
SELECT books.id, books.name, books.description, books.price
FROM books
INNER JOIN book_author
ON books.id = book_author.book_id
WHERE book_author.author_id = 2
затем я это все вывожу в цикле по каждой книге.
ВОПРОС
Как к этому запросу еще присоединить табличку authors, а точнее поле author_id ???
Неактивен
Не ясно, что вы хотите сделать. В приведенном вами запросе поле author_id известно и равно заданной константе.
Неактивен
Сорри не author_id а поле authors.name из таблицы authors
Неактивен
SELECT
b.id,
b.name,
a.name AS author_name, -- имя автора
b.description,
b.price
FROM books AS b
JOIN book_author AS ba ON b.id = ba.book_id
JOIN authors AS a ON a.id = ba.author_id
WHERE ba.author_id = 2
INNER JOIN и просто JOIN одно и то же
books AS b - присвоение таблицам псевдонимов для более короткого обращения при перечислении их столбцов.
a.name AS author_name - переименование колонок в результате запроса
затем я это все вывожу в цикле по каждой книге.
Один запрос на каждую книгу - это довольно долго.
Лучше бы Вы сделали один запрос на все книги (WHERE ba.author_id IN (...) ), а потом в клиентской программе в цикле его разобрали.
Неактивен
Благодарю!
Неактивен