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




MySQL.RU - Webboard



Вернуться
как бы упростить запрос? (BMW) 17/03/2004 - 10:02:40
      Re: Дык куда проще? (Marat_L) 17/03/2004 - 11:13:40
      Re: И еще ... (BMQ) 17/03/2004 - 18:32:25
      Re: И еще ... (walrus) 17/03/2004 - 20:35:53
      Re: И еще ... (BMW) 17/03/2004 - 21:15:49
      Re: И еще ... (dEp) 18/03/2004 - 08:33:28
      Re: Дык куда проще? (Marat_L) 18/03/2004 - 09:17:35
      Re: И еще ... (walrus) 18/03/2004 - 09:56:16
      Re: И еще ... (BMW) 18/03/2004 - 16:49:39

> Original message text:
> From: BMW - 17/03/2004 - 10:02:40
> Subject:как бы упростить запрос?
> -----------------
> SELECT * FROM db WHERE var = $mass[0] OR var = $mass[1] OR var = $mass[2] OR var = $mass[3] OR var = $mass[4] и т.д.
>
> Если сделать, например, цикл на Perl for(@mass)... то это получается много запросов, и выполняется ооочень долго.
> Как бы этот запрос сделать попроще?
>
> Спасибо!
>


From: Marat_L - 18/03/2004 - 09:17:35
Subject:Дык куда проще?
-----------------
Твой вопрос с сортировкой - очень нетривиальный вопрос.
А откуда MySQL будет знать как тебе надо отсортировать!
Потому он и сортирует "как-то по-своему".

ВАРИАНТЫ
1) Если есть смягчающие обстоятельства :)
Например в твоем массиве элементы уже отсортированы, то можно намекнуть MySQL об этом:

SELECT * FROM db WHERE var in ($mass[0],$mass[1],$mass[2], ...) ORDER BY var

2) Если же в твоем массиве элементы расположены в произвольном порядке, тогда нет способов в простом запросе указать. Придется выкручиваться типа:

SELECT * FROM db WHERE var=$mass[0]
UNION ALL
SELECT * FROM db WHERE var=$mass[1]
UNION ALL
SELECT * FROM db WHERE var=$mass[2]
UNION ALL
SELECT * FROM db WHERE var=$mass[3]
UNION ALL
..........


Но лучше бы у тебя был первый случай.
:)
И вообще старайся сразу формулировать проблему, а то мы тут сидим и гадаем, что у него там.


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

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

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



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