Выборка строк по нескольким значениям одного из полей

dr_z10

Новичок
Выборка строк по нескольким значениям одного из полей

Вопрос следующий.

Есть массив с несколькими значенями поля id таблицы. Нужно сделать выборку строк по этим значениям.

Соответственно, варианты:
1) простой прогон по массиву, каждый раз достаём новую строку, соответствующую id, через
SELECT * FROM table WHERE id LIKE mas[$i];
2) вот она, собственно, загвоздка...

Есть ли второй вариант? Например, перечисление id через запятую или типа того. Одним запросом достать всё - и в $result = mysql_query($query)...

Кстати, какой из вариантов будет быстрее работать, несколько запросов в цикле или один, но полный (если он существует)? (вопрос для общего развития)
 

tony2001

TeaM PHPClub
>SELECT * FROM table WHERE id LIKE mas[$i];
почему LIKE ?
там неполное совпадение?

по-моему, тебе надо:
SELECT * FROM table WHERE id = 'mas[$i]' OR id = '..' OR id = '...';
 

dr_z10

Новичок
Автор оригинала: Panchous
а почему LIKE - а не '='
?
А хрен его знает, почему :) Наверно, плохо читал manual. А может, это осталось ещё со времён изучения SQL в институте... Как-то не задумывался над этим.
Стормозил - извиняюсь...

-~{}~ 23.11.04 16:46:

Всем огромное спасибо, особая благодарность f1.

Но ещё остался один вопрос в целях просвещения. Повторю.
Кто-нибудь знает, какой из вариантов будет быстрее работать, несколько запросов в цикле или один, но полный?
 
Сверху