Задавайте вопросы, мы ответим
Вы не зашли.
(классика) Есть 3 таблицы:
authors - список авторов книг
books - список книг
books_authors - таблица связи авторов с книгами
---- Таблица authors ------
CREATE TABLE IF NOT EXISTS `authors` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`fio` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
INSERT INTO `authors` (`id`, `fio`) VALUES
(1, 'Николай Николаевич Носов'),
(2, 'Артур Конан Дойль'),
(3, 'Александр Сергеевич Пушкин');
---- Таблица books ------
CREATE TABLE IF NOT EXISTS `books` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
INSERT INTO `books` (`id`, `name`) VALUES
(1, 'Незнайка учится'),
(2, 'Незнайка-путешественник'),
(3, 'Винтик, Шпунтик и пылесос'),
(4, 'Затерянный мир'),
(5, 'Шерлок Холмс'),
(6, 'Руслан и Людмила'),
(7, 'Сказка о рыбаке и рыбке');
---- Таблица связей books_authors ------
CREATE TABLE IF NOT EXISTS `books_authors` (
`id_book` int(11) NOT NULL,
`id_author` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `books_authors` (`id_book`, `id_author`) VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 2),
(5, 2),
(7, 3),
(6, 3);
Подскажите плиз как составить запрос, чтобы для каждого автора выводился список книг через запятую. Знаю, что нужно использовать JOIN, GROUP BY + GROUP_CONCAT, но не знаю как именно. Я новичёк
Спасибо
Неактивен
Неактивен