![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
0xDEAD |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 20.9.2009 Репутация: нет Всего: 3 |
Добрый день!
У меня есть две таблицы: юзеры, и их друзья, что выглядит примерно так:
Я хочу за раз взять всех юзеров с друзьями, и их друзей. Как мне это сделать одним запросом? Нужно иметь в результате:
Спасибо! |
||||
|
|||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 2 Всего: 54 |
в таблице FRIENDS нужен свой первичный ключ friends id | memder_id |name -------------------- Кольцов Виктор Владимирович |
|||
|
||||
0xDEAD |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 20.9.2009 Репутация: нет Всего: 3 |
В моем случае join почему-то нереально долго думает
причем тормоза наблюдаются только с двумя условиями, если убрать любую, отвечает быстро. Придумал альтернативу:
В отличие от первого почему-то возвращает результат мгновенно. Зачем? Это сообщение отредактировал(а) 0xDEAD - 22.6.2010, 09:41 |
||||
|
|||||
tusha |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 17.7.2008 Репутация: 1 Всего: 1 |
может создать некластерный индекс по дате логина? или если база мссскл то сделать эти 2 колонки как инклуд для индекса (или вообще построить кластерный индекс по id, last_login - я так понимаю это таблица аудита - кто когда заходил в систему?) Это сообщение отредактировал(а) tusha - 22.6.2010, 10:06 |
|||
|
||||
Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Зачем первичный ключ вообще ![]() Я так понимаю в данном случае испльзуется составной первичный ключ? В принципе можно и так, но это накладывает некоторые ограничения, например у одного человека не смогут быть два друга "однофамильца". Хорошо это или плохо зависит от конкретной задачи. -------------------- Слава Україні! |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
До тех пор, пока перед разрабом стоит вопрос "зачем", первичный ключ действительно не нужен. Если бы я бы имел основания полагать что платформа реализации ТС - оракл, я бы присоединился к этому вопросу. В оракле есть ROWID Pseudocolumn , который позволяет отказаться от ПК для таблиц которые не являются мастером в отношениях, и эти ПК нахрен не нужны как ограничения целостности. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Zloxa,
Дык а как же вообще без ключей? Что не пойму? Как обращаться к записям? Ну и, как бы, я вообще не совсем понимаю как ТС пытается достич желаемого результата: А как же друзья друзей ![]() И я так понимаю друзья не могут быть юзерами, а юзеры не могут становиться друзьями? -------------------- Слава Україні! |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |