![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
slang |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 7.3.2004 Репутация: 1 Всего: 0 |
Помогите составить запрос.
Есть таблицы (упрощенно, конечно): Table_1 (user) -id -name Table_2 (авто) -id -id_user -auto Table_3 (запрос) -id -id_user -id_auto -numzapros (номер запроса) -date (дата формирования запроса) -zapros Требуется составить запрос, чтобы на выходе получить html типа:
у меня есть только мысля: 1. выбрать все разные numzapros сортируя их по дате 2. берем номер первого запроса 3. выбираем инфу по id_auto и id_user из соответствующих таблиц (сформировали первую строку) 4. выбираем все запросы с таким номером (сформировали строки с данными) 5. переходим к следующему номеру запроса 6. переходим к пункту 3 в этом случае получается 1+2*количество запросов (из пункта 1) запросов к базе данных. из пункта 1 за месяц набирается около 1000 запросов, таким образом, примерно, через месяц для того чтобы сформировать такую страницу необходимо будет выполнить 2001 запрос к базе данных - многовато получается, не так ли? Подскажите, как можно это реализовать по другом? -------------------- Запчасти на иномарки www.avtograd55.ru. Если есть время - зайдите и посоветуйте что исправить и что доработать. |
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
А какие хоть логические связи в таблицах?
-------------------- Пролетал мимо. |
|||
|
||||
slang |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 7.3.2004 Репутация: 1 Всего: 0 |
Table_1 (user) -id (ключевое поле) -name Table_2 (авто) -id -id_user (связь с Table_1, поле id) -auto Table_3 (запрос) -id -id_user (связь с Table_1, поле id) -id_auto (связь с Table_2, поле id) -numzapros (номер запроса) -date (дата формирования запроса) -zapros Это сообщение отредактировал(а) slang - 3.8.2007, 08:42 -------------------- Запчасти на иномарки www.avtograd55.ru. Если есть время - зайдите и посоветуйте что исправить и что доработать. |
|||
|
||||
slang |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 7.3.2004 Репутация: 1 Всего: 0 |
у меня получается что-то на подобие этого:
сама бд:
-------------------- Запчасти на иномарки www.avtograd55.ru. Если есть время - зайдите и посоветуйте что исправить и что доработать. |
||||
|
|||||
sTa1kEr |
|
||||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 9 Всего: 146 |
slang, странная у вас структура базы. Почему бы вам не вынести детали запроса в отдельную таблицу? Т.е., к примеру, таблица
Тогда запрос сразу станет предельно простым
Или же, если я не правильно понял задачу, то можно пример данных таблицы auto_zapros? Это сообщение отредактировал(а) sTa1kEr - 3.8.2007, 19:08 |
||||
|
|||||
slang |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 455 Регистрация: 7.3.2004 Репутация: 1 Всего: 0 |
sTa1kEr, так и есть, детали запроса в отдельной таблице, в ней же поля для связи с двумя другими таблицами.
пример таблиц:
Мне вот еще интересно, как правильнее, загонять все таблицы в массив одним запросом, или делать множество запросов. Как быстрее и легче системе? Это сообщение отредактировал(а) slang - 3.8.2007, 20:45 -------------------- Запчасти на иномарки www.avtograd55.ru. Если есть время - зайдите и посоветуйте что исправить и что доработать. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |