
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.10.2002, 13:43:27
|
|||
|---|---|---|---|
|
|||
Наваждение, какое-то... |
|||
|
#18+
Такое, вот, дело... Постараюсь изложить суть в самом простом виде. Есть таблица (Т) неких продуктов, выглядящая следующим образом: CREATE TABLE T(TypeID INT,Code INT) Предположим, в ней следующие записи: TypeID Code 0 1 1 1 2 1 1 2 2 2 3 2 4 2 1 3 3 3 Нужен запрос, возвращающий все продукты, "принадлежащие", к примеру TypeID=n1 & TypeID=n2 Вроде, все просто: SELECT T1.* FROM T T1 INNER JOIN T T2 ON T1.Code=T2.Code WHERE T1.TypeID=n1 AND T2.TypeID=n2 Нет у меня трудностей и сделать это при TypeID=n1 & TypeID=n2 & TypeID=n3 & ... Запрос динамический, генерится в СОМе, т.е. - все, вроде, пучком. Но, "терзают меня смутные сомнения"(С), что можно это сделать как-то красивее, что-ли. Помогите, пожалуйста... Или развейте мои сомнения, или укрепите их :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2002, 13:47:23
|
|||
|---|---|---|---|
Наваждение, какое-то... |
|||
|
#18+
а типа WHERE TypeID in (1,2) не подойдет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2002, 13:49:40
|
|||
|---|---|---|---|
|
|||
Наваждение, какое-то... |
|||
|
#18+
select * from T where TypeId=n1 and code in (select code from T tt where tt.TypeId=n2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2002, 14:00:16
|
|||
|---|---|---|---|
Наваждение, какое-то... |
|||
|
#18+
Как-нибудь так наверное: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Но можно и пооптимизировать, например (1,2,3) во временную табличку складывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2002, 15:17:55
|
|||
|---|---|---|---|
|
|||
Наваждение, какое-то... |
|||
|
#18+
По порядку :) - 2 Sanek: Абсолютно не подойдет! :) - 2 dkstranger: Тут я виноват... послал ОДНО из возможных ОФОРМЛЕНИЙ запроса. Совершенно те же яйца, совершенно в тот же профиль... с тем же планом (естественно). Но, спасибо, конечно. - 2 VVG: Красивее же хотелось! :) Ну, и "в реале" таблица, конечно же, большая... Групповые операции не катят. Прошу прощения, даже не проверял Ваш вариант... Еще раз - БОЛЬШОЕ СПАСИБО ответившим! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.10.2002, 16:19:03
|
|||
|---|---|---|---|
Наваждение, какое-то... |
|||
|
#18+
А Вы считаете, что перемножение таблицы на саму себя столько раз, сколько параметров в запросе будет быстрее одной группировки (теперь даже без join'а)? Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1819314]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 300ms |

| 0 / 0 |
