Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выборка из нескольких таблиц 
:(
    Опции темы
proger
Дата 23.5.2011, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 10.10.2004

Репутация: нет
Всего: 1



Здравствуйте,
есть таблица:
отзывы с полями 
Код

1. Дата
2. Код автора
3. Отзыв
4. Код объекта отзыва

объект отзыва с полями
Код

1. Код объекта
2. Дата добавления
3. Имя

Хочу вывести на сайте блок, типа 5 последних отзывов к объектам. Как сделать, так что бы авторы не повторялись? Оператор DISTINCT не подходит, т.к. после связи с таблице объектов, нет одинаковых значений, т.к. айди объекта у одного и того же автора разные. Возможно надо через exists

Это сообщение отредактировал(а) proger - 24.5.2011, 08:14
PM MAIL   Вверх
Gluttton
Дата 23.5.2011, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 24
Всего: 54



proger, что означают:
Цитата

1. Дата
4. Код объекта отзыва

и
Цитата

1. Дата добавления
2. Имя

?


--------------------
Слава Україні!
PM MAIL   Вверх
proger
Дата 24.5.2011, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 10.10.2004

Репутация: нет
Всего: 1



Цитата(Gluttton @ 23.5.2011,  14:15)
proger, что означают:
Цитата

1. Дата
4. Код объекта отзыва

и
Цитата

1. Дата добавления
2. Имя

?

Прошу прощение, пропустил одно поле. исправил
PM MAIL   Вверх
Akina
Дата 24.5.2011, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454





--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
proger
Дата 24.5.2011, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 10.10.2004

Репутация: нет
Всего: 1




Спасибо

Добавлено через 6 минут и 44 секунды

Что то не получается у меня. щас делаю так:
Код

SELECT objects.*, c.name as cat_name, c.id as cat_id, users.login, responses.text
                                            FROM objects, categories c, responses, users
                                            WHERE objects.display =1
                                            AND c.display = 1
                                            AND objects.categories_id = c.id
                                            AND responses.object_id=objects.id
                                            AND responses.avtor_id=users.id
                                            GROUP BY users.id
                                            ORDER BY responses.date_create DESC                                            
                                            LIMIT 5 

Но запрос не правильно работает, т.к. там групировка
PM MAIL   Вверх
proger
Дата 25.5.2011, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 10.10.2004

Репутация: нет
Всего: 1



Есть варианты????
PM MAIL   Вверх
Zloxa
Дата 25.5.2011, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Цитата(proger @  25.5.2011,  09:31 Найти цитируемый пост)
Есть варианты????

Они вам не подойдут. Запрос, удовлетворяющий вашим требованиям окажется не масштабируемым, количество требуемых ресурсов будет иметь экспоненциальную зависимость от количества исходных данных. Рекомендовать его к применению в приложении - не этично. Можно порекомендовать отказаться от затеи, либо же воплотить ее иными средствами.

Добавлено через 4 минуты и 58 секунд
К тому же, по ссылке Акины все варианты доступно изложены.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
proger
Дата 25.5.2011, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 10.10.2004

Репутация: нет
Всего: 1



Цитата(Zloxa @ 25.5.2011,  09:44)
Цитата(proger @  25.5.2011,  09:31 Найти цитируемый пост)
Есть варианты????

Они вам не подойдут. Запрос, удовлетворяющий вашим требованиям окажется не масштабируемым, количество требуемых ресурсов будет иметь экспоненциальную зависимость от количества исходных данных. Рекомендовать его к применению в приложении - не этично. Можно порекомендовать отказаться от затеи, либо же воплотить ее иными средствами.

Добавлено @ 09:49
К тому же, по ссылке Акины все варианты доступно изложены.

Не может быть что нет решения
PM MAIL   Вверх
Zloxa
Дата 25.5.2011, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Цитата(proger @  25.5.2011,  10:30 Найти цитируемый пост)
Не может быть что нет решения 

Я не говорил что нет решения. Я говорил что запрос к предложенной вами структуре не может быть эффективен.  Стуктуру надо менять.
Очевидное  решение - вести в разрезе пользоватля ссыль на его последний пост, индексируя по дате. Тогда пять последних постов разных юзеров получаются легко и не принужденно.

Это сообщение отредактировал(а) Zloxa - 25.5.2011, 10:38


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0530 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.