Я на всякий случай подробнее напишу, т. к. сразу осознать бывает тяжело. Вот например есть таблицы, что вы описали (я чуть переименовал)
CREATE TABLE IF NOT EXISTS `authors` (
`authorid` int(11) NOT NULL AUTO_INCREMENT,
`phone` varchar(100) NOT NULL,
PRIMARY KEY (`authorid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
INSERT INTO `authors` (`authorid`, `phone`) VALUES
(1, '123456789'),
(2, '987654321');
CREATE TABLE IF NOT EXISTS `books` (
`booksid` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`price` float NOT NULL,
PRIMARY KEY (`booksid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
INSERT INTO `books` (`booksid`, `title`, `price`) VALUES
(1, 'Название1', 10),
(2, 'Название2', 20);
CREATE TABLE IF NOT EXISTS `third` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`authorid` varchar(100) NOT NULL,
`booksid` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
INSERT INTO `third` (`id`, `authorid`, `booksid`) VALUES
(1, '1', '2'),
(2, '2', '1');
В случае такого запроса, вы получите объединённые таблицы и уже сможете выбирать из них, что угодно.
SELECT * FROM books
INNER JOIN third ON books.booksid = third.booksid
INNER JOIN authors ON third.authorid = authors.authorid
Наверняка, гуру могут посоветовать что-то изящнее. Мне кажется тут many-to-many не очень оправдано. Поправьте, если что.