Как показать все результаты MySQL запроса [дублировать]MySql

Форум по Mysql
Ответить
Anonymous
 Как показать все результаты MySQL запроса [дублировать]

Сообщение Anonymous »

У меня есть три связанные таблицы: книги, авторы (множественное число) и автор (единственное число). Книги могут иметь более одного автора, поэтому автора поля в таблице книг относится к набору авторов авторов таблицы (множественное число). В таблице авторов (множественного числа) есть столбцы, содержащие отдельные авторы (Author1, Author2 и т. Д.). Таблица автора (единственного числа) содержит подробности о каждом отдельном авторе (имя, фамилию и т. Д.). < /P>
> SELECT id, title, author FROM books;
+----+---------------------+--------+
| id | title | author |
+----+---------------------+--------+
| 1 | The Grapes of Wrath | 1 |
| 3 | As I Lay Dying | 5 |
| 8 | Programming PHP | 2 |
+----+---------------------+--------+

> SELECT id, author1, author2 FROM authors;
+----+---------+---------+
| id | author1 | author2 |
+----+---------+---------+
| 1 | 1 | NULL |
| 2 | 11 | 12 |
| 5 | 3 | NULL |
+----+---------+---------+

> SELECT id, last FROM author;
+----+-----------+
| id | last |
+----+-----------+
| 1 | Steinbeck |
| 3 | Faulkner |
| 11 | Tatroe |
| 12 | MacIntyre |
+----+-----------+
< /code>
Цель состоит в том, чтобы создать таблицу, которая показывает название каждой книги и названия (ы) автора каждой книги. Запрос ниже делает это. < /P>
> SELECT books.title, books.author,
a1.first, a1.last,
a2.first, a2.last
FROM books
JOIN authors ON authors.id=books.author
JOIN author AS a1 ON a1.id=authors.author1
JOIN author AS a2 on a2.id=authors.author2;
+------------------+--------+--------+--------+-------+-----------+
| title | author | first | last | first | last |
+------------------+--------+--------+--------+-------+-----------+
| Programming PHP: | 2 | Kevin | Tatroe | Peter | MacIntyre |
+------------------+--------+--------+--------+-------+-----------+
< /code>
Проблема в том, что результаты этого запроса показывают только те книги, которые имеют ценность в столбце авторов (множественное число). Я хочу, чтобы это показало все книги: < /p>
+---------------------+--------+---------+-----------+-------+-----------+
| title | author | first | last | first | last |
+---------------------+--------+---------+-----------+-------+-----------+
| Programming PHP: | 2 | Kevin | Tatroe | Peter | MacIntyre |
| The Grapes of Wrath | 1 | John | Steinbeck | NULL | NULL |
| As I Lay Dying | 5 | William | Faulkner | NULL | NULL |
+---------------------+--------+---------+-----------+-------+-----------+
< /code>
Что не так с моим запросом? Как я могу заставить его показать все книги?

Подробнее здесь: https://stackoverflow.com/questions/794 ... ysql-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»