У меня есть три связанные таблицы: книги, авторы (множественное число) и автор (единственное число). Книги могут иметь более одного автора, поэтому автора поля в таблице книг относится к набору авторов авторов таблицы (множественное число). В таблице авторов (множественного числа) есть столбцы, содержащие отдельные авторы (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
Как показать все результаты MySQL запроса [дублировать] ⇐ MySql
Форум по Mysql
-
Anonymous
1741620595
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>
Что не так с моим запросом? Как я могу заставить его показать все книги?
Подробнее здесь: [url]https://stackoverflow.com/questions/79498472/how-to-show-all-results-of-mysql-query[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия