SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.04.2010 16:33:37

kukich
Участник
Зарегистрирован: 01.04.2010
Сообщений: 6

Сложный запрос с двумя таблицами

Здравствуйте.
Есть 2 таблицы : первая таблица ( Номер(id) , Имя человека)
                        вторая таблица (первичный ключ(id),Номер человека ,дата (когда человек взял книгу),название книги,дата(когда человек отдал книгу),след. запись(это номер ID в котором указано когда эту книгу брали ещё раз,если её больше не брали , то там значение NULL);

Задача:Составить выборку из 3 столбцов.В первом указывается Имена людей, которые принесли книги,(предположим 10 мая), во втором Имена людей ,которые эти книги взяли в этот же день , а в 3 столбце кол-во книг , которые взял второй человек из тех , что принес первый.Вывд примерно такой:

Вася_____Петя_____10(Вася здал сегодня много книг,из них 10 сегодня забрал Петя)
Вася_____Саша_____3
Антон____Саша_____5

Написал программу на перл с большим количеством легких запросов и циклов, а хотелось бы одним большим запросом составить выборку.Не могу связать более двух таблиц чтобы он выводил то,что мне надо,да и вообще в голове сразу каша начинается , надеюсь на Вашу помощь.

Неактивен

 

#2 01.04.2010 17:48:07

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Сложный запрос с двумя таблицами

Какая-то странная вторая таблица. Не лучше ли держать

person (id, ...)
book (id, ...)
action (person_id, book_id, borrow_date, return_date, ...)

и по ним уже строить выборки?

Неактивен

 

#3 02.04.2010 15:09:18

kukich
Участник
Зарегистрирован: 01.04.2010
Сообщений: 6

Re: Сложный запрос с двумя таблицами

Так и есть , просто в данном случае не нужна таблица book(id,..) т.к. название книги нас не интересует

Неактивен

 

#4 02.04.2010 15:31:55

kukich
Участник
Зарегистрирован: 01.04.2010
Сообщений: 6

Re: Сложный запрос с двумя таблицами

тему можно закрыть!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson