Автор Тема: Выборка из нескольких таблиц  (Прочитано 3832 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Lirik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выборка из нескольких таблиц
« : 31 Октября 2006, 02:41:03 »
Схема базы данных:

CREATE TABLE book (id INT, title VARCHAR(100));
CREATE TABLE writer (id INT, name VARCHAR(100));
CREATE TABLE book2writer (book_id INT, writer_id INT);

Таблицы связаны многие-ко-многим.
В результате запроса должно быть выведено название книги и количество авторов этой книги.

Задачка вроде бы простейшая и решается в два действия. Одно действие понятно - делаем выборку в третьей таблице:

SELECT book_id, COUNT( * )
FROM book2writer
GROUP BY book_id

Но как сделать, чтобы вместо book_id из таблицы book2writer отображался title из таблицы book ума не приложу. Может подскажет кто?

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выборка из нескольких таблиц
« Ответ #1 : 31 Октября 2006, 04:06:00 »
SELECT book.title, COUNT(book2writer.book_id)
FROM book, book2writer
WHERE book.id=book2writer.book_id
GROUP BY book.title

Оффлайн Lirik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выборка из нескольких таблиц
« Ответ #2 : 31 Октября 2006, 16:39:48 »
Огромное спасибо. А то весь день убил. Такой вариант у меня тоже был, вот только в неправильной последовательности.

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выборка из нескольких таблиц
« Ответ #3 : 01 Ноября 2006, 00:22:43 »
Пожалуйста!
Очень рекомендую книгу Мартина Грубера "Understanding SQL" (есть русский перевод, не знаю точного названия).

Оффлайн Lirik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выборка из нескольких таблиц
« Ответ #4 : 01 Ноября 2006, 01:31:57 »
Еще раз спасибо.
Книга называется "понимание SQL"
перевод скачать можно здесь:
http://www.zipsites.ru/books/ponimanie_sql/

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выборка из нескольких таблиц
« Ответ #5 : 01 Ноября 2006, 03:21:50 »
Спасибо, у меня есть. :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28