Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
10 / 10 / 13
Регистрация: 25.04.2012
Сообщений: 1,156
1

Связь многие ко многим

16.01.2014, 00:31. Показов 3662. Ответов 4
Метки нет (Все метки)

Есть 3 таблицы:
Таким запросом всё как - бы отлично выводится как мне надо книга и под ней авторы, 1,2,3 сколько их писало
эту книгу. Но есть одна проблемка хочу чтобы на автора нажав вывелось к каким он книгам относится.. Вобщем через Concat, неполучается так сделать.(

MySQL
1
2
3
4
5
SELECT `books`.`title`,GROUP_CONCAT(`authors`.`name`)
FROM books,authors,book_author
WHERE books.id = book_author.book_id and
authors.id = book_author.author_id
GROUP BY books.title

MySQL
1
INSERT INTO `books` (`id`, `title`, `description`, `date`, `img`) VALUES
MySQL
1
2
3
4
5
6
7
8
INSERT INTO `authors` (`id`, `name`) VALUES
(1, 'Владимир'),
(2, 'Ольга'),
(3, 'Роза'),
(4, 'Елена'),
(5, 'Алистер'),
(6, 'Юлия'),
(7, 'Джонатан');
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
INSERT INTO `book_author` (`book_id`, `author_id`) VALUES
(1, 1),
(2, 2),
(3, 3),
(4, 3),
(5, 4),
(6, 4),
(7, 4),
(7, 7),
(8, 5),
(8, 3),
(8, 6);
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2014, 00:31
Ответы с готовыми решениями:

Связь многие-ко-многим
Здравствуйте. Подскажите, пожалуйста, для организации связи "многие-ко-многим" обязательна...

Связь многие к одному/ один к многим
Вот не могу понять эти связи, как они действуют. Например у меня есть две таблицы: Автомобиль ...

Запрос Многие-ко-Многим ( связь большого количества таблиц)
К таблице Application нужно как то прикрепить некоторое оборудование, нужно получить название или...

Обновление данных таблицы на основе запроса (связь многие-ко-многим)
Доброго времени суток, дорогие форумчане. Появилась проблема. Есть у меня таблица sklad ...

4
36 / 36 / 8
Регистрация: 04.11.2013
Сообщений: 117
16.01.2014, 01:31 2
SQL
1
2
3
SELECT books.title FROM book_author
    JOIN books ON books.id = book_author.book_id
    WHERE book_author.author_id = сюда_подставляем_идентификатор_автора
0
10 / 10 / 13
Регистрация: 25.04.2012
Сообщений: 1,156
16.01.2014, 21:41  [ТС] 3
Цитата Сообщение от piminov Посмотреть сообщение
SQL
1
2
3
SELECT books.title FROM book_author
    JOIN books ON books.id = book_author.book_id
    WHERE book_author.author_id = сюда_подставляем_идентификатор_автора
Благодарю всё работает, а есть вариант какой нибудь как вывести мой первый вариант только без CONCAT?
И чтобы к книге всех авторов существующих выводило?

Добавлено через 19 часов 59 минут
MySQL
1
2
3
4
SELECT `books`.`title`,authors.name
FROM books,authors,book_author
WHERE books.id = book_author.book_id and
authors.id = book_author.author_id
Вывожу таким образом все книги и одна книга дублируется с каждым автором, как обьеденить авторов и книгу в одно?? Не используя Concat ?
0
608 / 483 / 174
Регистрация: 02.03.2010
Сообщений: 1,207
17.01.2014, 10:41 4
Цитата Сообщение от sendxt Посмотреть сообщение
Вывожу таким образом все книги и одна книга дублируется с каждым автором, как обьеденить авторов и книгу в одно?? Не используя Concat ?
Никак, это М-М.
MySQL
1
2
3
SELECT `books`.`title`,
       (SELECT GROUP_CONCAT(authors.name SEPARATOR ', ') FROM book_author, authors WHERE books.id = book_author.book_id AND authors.id = book_author.author_id) AS Authors
FROM books
0
10 / 10 / 13
Регистрация: 25.04.2012
Сообщений: 1,156
17.01.2014, 12:31  [ТС] 5
Цитата Сообщение от _ViPeR_ Посмотреть сообщение
Никак, это М-М.
MySQL
1
2
3
SELECT `books`.`title`,
       (SELECT GROUP_CONCAT(authors.name SEPARATOR ', ') FROM book_author, authors WHERE books.id = book_author.book_id AND authors.id = book_author.author_id) AS Authors
FROM books
Как тогда делаются разделы книг, когда выводится Книга с несколькими авторами, также можно по автору отсортировать к каким книгам он относится?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2014, 12:31

Реализовать связь "многие-ко-многим"
Всем привет, нужна ваша помощь. Есть следующие таблицы: Aktery(kod_aktera, akt_fio)...

Связь "Многие-ко-многим"
Поясните, пожалуйста, как принято называть таблицу, которая связывает две другие в связи...

Связь "Многие ко многим"
Ребята, вроде тема простая, но что то я ломаю голову, короче: Создаю базу данных для врачей и...

Реализация многие-ко-многим
Перечитав десятки схожих тем, я все таки решил создать новую. Не нашел ничего схожего с данной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.