Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 05.01.2010, 05:14   #1
Особый статус
 
Регистрация: 23.03.2008
Адрес: localhost
Сообщений: 2,594
Вес репутации: 322
Ufaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущее
Отправить сообщение для Ufaweb с помощью ICQ
Question Помогите составить запрос mysql

Чего-то все никак не могу родить запрос, выдающий массив строк... Вкратце: есть список id, нужно достать из таблицы table строки, включающие эти id. Что-то типа
Код:
SELECT * FROM `table` WHERE id=(1 AND 11 AND 77)
Ну, этот запрос естетсвенно выдает не то, что нужно, потому и создаю тему
В общем, камрады, помогите сконструировать запрос!
Ufaweb вне форума   Ответить с цитированием
Старый 05.01.2010, 05:21   #2
Новичок
 
Аватар для stasilok
 
Регистрация: 13.11.2009
Адрес: Riga
Сообщений: 85
Вес репутации: 178
stasilok - весьма и весьма положительная личностьstasilok - весьма и весьма положительная личность
Отправить сообщение для stasilok с помощью ICQ
Post

список id в массиве? впринципе запрос почти пральный, только вместо AND надо заюзать OR
Если запросов будет много и разные иды будут подставляться, то можно циклом автоматизировать составление вот этого куска строки:
Код:
1 AND 11 AND 77

Последний раз редактировалось stasilok; 05.01.2010 в 05:25. Причина: о_О
stasilok вне форума   Ответить с цитированием
Старый 05.01.2010, 05:55   #3
Особый статус
 
Регистрация: 23.03.2008
Адрес: localhost
Сообщений: 2,594
Вес репутации: 322
Ufaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущее
Отправить сообщение для Ufaweb с помощью ICQ
По умолчанию

Цитата:
Сообщение от stasilok Посмотреть сообщение
список id в массиве? впринципе запрос почти пральный, только вместо AND надо заюзать OR
Если запросов будет много и разные иды будут подставляться, то можно циклом автоматизировать составление вот этого куска строки:
Код:
1 AND 11 AND 77
Выдает то же, что и при AND, а именно: строку с id 1.
Ufaweb вне форума   Ответить с цитированием
Старый 05.01.2010, 06:38   #4
Специалист
 
Регистрация: 25.06.2009
Адрес: Красноярск
Сообщений: 443
Вес репутации: 201
BIOHAZARD - за этого человека можно гордитсяBIOHAZARD - за этого человека можно гордитсяBIOHAZARD - за этого человека можно гордитсяBIOHAZARD - за этого человека можно гордитсяBIOHAZARD - за этого человека можно гордитсяBIOHAZARD - за этого человека можно гордитсяBIOHAZARD - за этого человека можно гордитсяBIOHAZARD - за этого человека можно гордитсяBIOHAZARD - за этого человека можно гордится
Отправить сообщение для BIOHAZARD с помощью ICQ
По умолчанию

на примере моей таблицы
Код:
SELECT * FROM `vdk_articles` WHERE `ID` IN ( 80, 81, 82 ) LIMIT 0 , 30
__________________
Решил стать бессмертным. Пока получается.
Не получается воткнуть код на сайт? Могу помочь. ася: 858-368. Рефералам бесплатно
BIOHAZARD вне форума   Ответить с цитированием
Старый 05.01.2010, 11:32   #5
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

правильно, надо использовать оператор IN, BETWEEN min AND max (если значения входят в диапазон) или OR (например WHERE `id`= 1 OR `id`=11 OR `id`=77)

(1 AND 11 AND 77) выдает 1, т.к. все значения не 0 или NULL
Цитата:
Logical AND. Evaluates to 1 if all operands are non-zero and not NULL, to 0 if one or more operands are 0, otherwise NULL is returned.
ahsinis вне форума   Ответить с цитированием
Старый 06.01.2010, 01:45   #6
Особый статус
 
Регистрация: 23.03.2008
Адрес: localhost
Сообщений: 2,594
Вес репутации: 322
Ufaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущее
Отправить сообщение для Ufaweb с помощью ICQ
По умолчанию

Ап...
Ufaweb вне форума   Ответить с цитированием
Старый 06.01.2010, 01:52   #7
Магистр
 
Аватар для Йода
 
Регистрация: 04.12.2007
Сообщений: 3,680
Вес репутации: 416
Йода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущее
По умолчанию

Все "битвины" и "ины" теоритически жрут нехило мощность сервера.
Поэтому если список айдишников невелик- ну например 10-20 (а по хорошему- неважно сколько, важно оттестить и посмотреть на каких количествах сервер начнет зарывацца) - я бы сделал просто классический запрос на выборку строк по известным айдишникам:
SELECT * FROM table WHERE ( (id=1) OR (id=12) OR (id=23) OR ... (id=89) )

Если же массив айдишников здоровенный- сотни или тысячи, то наверное надо мутить чтото другое.. Если надо- можно подумать что именно..

Если есть какието облегчающие условия- например, известно, что все айдишники идут попорядку и неубыват, или какието еще ограничения на ряд - то это можно с успехом использовать при построении запроса.
__________________
С уважением, Йода
Йода вне форума   Ответить с цитированием
Старый 06.01.2010, 01:55   #8
Особый статус
 
Регистрация: 23.03.2008
Адрес: localhost
Сообщений: 2,594
Вес репутации: 322
Ufaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущее
Отправить сообщение для Ufaweb с помощью ICQ
По умолчанию

Спасибо, вопрос решен!
Ufaweb вне форума   Ответить с цитированием
Старый 06.01.2010, 01:55   #9
Магистр
 
Аватар для Йода
 
Регистрация: 04.12.2007
Сообщений: 3,680
Вес репутации: 416
Йода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущееЙода - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Ufaweb Посмотреть сообщение
вопрос решен!
Как?..
__________________
С уважением, Йода
Йода вне форума   Ответить с цитированием
Старый 06.01.2010, 02:03   #10
Особый статус
 
Регистрация: 23.03.2008
Адрес: localhost
Сообщений: 2,594
Вес репутации: 322
Ufaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущее
Отправить сообщение для Ufaweb с помощью ICQ
По умолчанию

Цитата:
Сообщение от Йода Посмотреть сообщение
Как?..
На серче помогли:
WHERE id IN (1,10,100)

// аддед
ID по идее должны идти по порядку, и их может быть неизвестное множество (от 0 до, скажем, 100-200-500), ибо это комментарии пользователей к статье, посту, картинке, видео...

Последний раз редактировалось Ufaweb; 06.01.2010 в 02:08.
Ufaweb вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите правильно составить заявку в ЯК doom_seller Курилка 9 26.10.2009 23:13
запрос в mysql Zergalius Разработка и сопровождение сайтов 22 14.07.2009 13:27
Помогите составить SQL запрос? Fredy314 Разработка и сопровождение сайтов 7 02.06.2009 09:19
помогите с MySQL 10012003 Разработка и сопровождение сайтов 21 19.05.2009 12:22
Запрос к MySQL Ulf Разработка и сопровождение сайтов 13 12.05.2009 00:26


Часовой пояс GMT +3, время: 13:23.