1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

[MySQL]Организация запроса

Тема в разделе 'Базы данных', создана пользователем Killer_Pooh, 15 апр 2013.

  1. TopicStarter Overlay

    Killer_Pooh Guest

    Репутация:
    0
    День добрый, прошу подсказать пожалуйста. Имеется 3 таблицы, вот структура:
    Код:
    CREATE TABLE authors (id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, surname VARCHAR(30), name VARCHAR(30), patronymic varchar(30), birthday INT(4), INDEX (surname(10)) ) ENGINE = InnoDB CHARACTER SET=UTF8;
    CREATE TABLE books (id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, publish_id INT(11) NOT NULL, name VARCHAR(100), year int (4), price int (10), FOREIGN KEY (publish_id) REFERENCES publish(id), INDEX (name(10))) ENGINE = InnoDB CHARACTER SET=UTF8;
    CREATE TABLE author2book(author_id INT(11) NOT NULL, book_id INT(11) NOT NULL, FOREIGN KEY (author_id) REFERENCES authors(id) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (book_id) REFERENCES books(id) ON UPDATE CASCADE ON DELETE CASCADE, INDEX (author_id, book_id) ) ENGINE = InnoDB CHARACTER SET=UTF8;
    author2book - связующая таблица для организации связи М-М (многие ко многим). Вопрос:
    Какой нужен запрос чтобы по фамилии автора получить все названия его книг:) Заранее спасибо.
    P.S. Если всё-таки кто-то будет и вправду пробовать, для упрощения задачи прикладываю дамп даты
  2. pdev 14:23 Команда форума Администратор Программист Open Source Contributor

    Сообщения:
    1.408
    Лайки:
    1.404
    Пол:
    Мужской
    Репутация:
    7
    Команда:
    Indy
    Страна:
    Turkey Turkey
    Код:
    select a.*, b.*
    from    authors a
    join author2book a2b
        on    a2b.author_id = a.id
    join books b
        on    b.id = a2b.book_id
    where a.surname in ('Пушкин')
    Killer_Pooh нравится это.
Черновик сохранён Черновик удалён

Поделиться этой страницей