Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Логика "И" (Daos) 22/04/2005 - 13:12:10
      Re: Логика из области фанастики (Валентин) 22/04/2005 - 17:26:41
      Re: Логика из области фанастики (Daos) 22/04/2005 - 17:32:53
      Re: Логика из области фанастики (Daos) 22/04/2005 - 17:44:15
      Re: Вопрос не точный (Валентин) 22/04/2005 - 17:45:29
      Re: Логика из области фанастики (Daos) 22/04/2005 - 17:48:59
      Re: Неправильная у тебя логика (Валентин) 22/04/2005 - 17:53:28
      Re: Вопрос не точный (Daos) 22/04/2005 - 17:55:47
      Re: Теперь точный (Валентин) 22/04/2005 - 18:19:44
      Re: Теперь точный (Daos) 22/04/2005 - 18:44:55
      Re: Всегда есть более 1-го решения (Валентин) 25/04/2005 - 10:49:25

> Original message text:
> From: Daos - 22/04/2005 - 13:12:10
> Subject:Логика "И"
> -----------------
> Вобщем возьмем для примера простую таблицу
>
> key | vol
> 1 1
> 1 2
> 2 1
> 2 2
> 3 1
>
> Задача вытащить все key у которых vol = 1 И vol = 2 (то есть условию отвечают key 1 и 2)
>
> Вариант с IN(1,2) неподходит так как он ищет по условию ИЛИ и при таком раскладе сюда попадает и key 3 а это неверно.
>
> Есть ли варинт сделать такое без объединения этой таблицы самой с собой? Потому как на реальном примере условий может быть больше чем 2 скажем до 7-8 и я опасаюсь за быстродействие этой схемы, подскажите кто с этим сталкивался пути решения если они есть.
>
> Пример с объединением таблицы решающей эту задачу:
>
> SELECT * FROM table t1, table t2 WHERE t1.key = t2.key AND t1.vol = 1 AND t2.vol = 2
>


From: Валентин - 22/04/2005 - 17:53:28
Subject:Неправильная у тебя логика
-----------------
Зачем объединять талицу саму с собой????
Если будет индекс по полям key и vol, хорошо если уникальный, так работать будет очень быстро, потому что в запросе используется только И
см. предыдущий ответ.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
21640



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |