![]() |
|
Модераторы: skyboy |
![]()
|
|
| joost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.10.2008 Репутация: нет Всего: нет |
Есть таблица
table (object,properti,val) object - айди объекта properti - айди свойста объекта val - айди значения свойства объекта Нужно выбрать properti, которые имеют object-ы с properti=7 и val=3 Например таблица 1 3 4 1 7 3 2 4 1 2 7 3 3 1 1 использование IN сильно тормозит |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
тут и без запроса понятно что ответ = 7 Это сообщение отредактировал(а) Zloxa - 23.3.2011, 16:27 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| joost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.10.2008 Репутация: нет Всего: нет |
||||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Если этот ответ правильный, то он на другой вопрос. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
впопрос таки кажется понял.
здесь может оказаться полезным индекс по (object) и составной индекс по (properti,val). Но может и нет. Добавлено через 48 секунд хотя... правильный ответ все равно не к этому вопросу. Это сообщение отредактировал(а) Zloxa - 23.3.2011, 17:26 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| joost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.10.2008 Репутация: нет Всего: нет |
а как сделать через join выборку общего результата у более чем двух таблиц?
|
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 2 Всего: 54 |
Я понял вопрос так...
нужно выбрать все проперти тех объектов у которых есть проперти 7 равное 3
поправьте если ошибаюсь. Это сообщение отредактировал(а) Frees - 23.3.2011, 19:11 -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| joost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.10.2008 Репутация: нет Всего: нет |
счас задача такая
Есть три таблицы - t1, t2, t3 Все с одной и тойже структурой t1(id) 1 2 3 t2(id) 2 3 4 t3(id) 3 4 5 Используя join выбираю id, которые есть во всех трех таблицах SQL: select t1.id from t1 inner join t2 on t1.id=t2.id inner join t3 on t1.id=t3.id group by t1.id Правильным ли будет этот запрос для поставленой задачи - используя join выбрать id, которые есть во всех трех таблицах ? |
|||
|
||||
| joost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.10.2008 Репутация: нет Всего: нет |
на практике выбирает, то что нужно, но в реале то наборы данных могут быть другие
потому интересует мнение по запросу с точки зрения теории возможно запрос объеденит (результат пересичения t1 c t2) union (результат пересичения t1 c t3) или всеже выдаст общее пересичение для всех трех таблиц? теорию по join читал, но все как-то не очень ясно - зразу сообразить трудно буду благодарен за ответы старших товарищей! |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Формально правильный. Но я бы написАл
А если ID - уникальный хотя бы в одной из таблиц - то select ID именно из этой таблицы, и без distinct. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Увы, intersect (как и except) реализован не везде... блин, как мне его в MS SQL 2000 нехватало, и как счас в MySQL нехватает...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Ни разу не доводилось использовать. Ей богу. ))
Еxcept в оракле minus'ом зовется. Его - да, мне бы очень не хватало )) -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |