Поиск в БД MySQL сразу по нескольким полям.

MaGIc2laNTern

Новичок
Поиск в БД MySQL сразу по нескольким полям.

Вот есть MySQL БД с несколькими полями.
Типа:
Сидаров | Антон | 18 | PHP, Python, Perl
Воробьев | Михаил | 29 | C++, Perl, Pascal
...
И вот нужно найти записи сразу по нескольким полям.
Типа показать все записи где в первом поле содержится Сидаров, а в четвертом поле содержится PHP.
В принципе это по разному можно решить, можно в массив например сливать или делать сложную систему с ИДами, но мне кажется что это все идиотизм.
Подскажите как проще всего такую тему организовать?
Просто может если кто уже писал скиньте примерчик, а то я с MySQL раньше скрипты особо не писал и поэтому никак не могу въехать как такое лучше орагнизовать.:confused:
 

Кром

Новичок
Можешь сделать колонку типа set, и в ней хранить данные о языках программирования. Не думаю, чо найдется программист знающий более 64 языков.

Второй вариант - три таблицы. В одной пользователи, в другой языки программирования, в третьей связи по user_id и prog_lang_id.
 

MaGIc2laNTern

Новичок
Не, ну это то все понятно!
Можно ведь при помощи SELECT просто выделить скажем те записи где в сталбце с языками программирования найден Perl, и еще выделить те у которых в столбце с фамилией найдено Сидаров.
Это то все не сложно!
Но вот будут у меня например от каждого из этих двух запросов к примеру по 10 результатов, и к примеру 2 из этих результатов будут совпадать - то есть найдено и то и другое.
Так вот вопрос как бы мне вывести именно общие результаты? То есть те строки которые выдались от обоих запросов.
З.Ы. очень извеняюсь перед модераторами, случайно запостил не в тот раздел - перенесите плз, а то у меня на это прав думаю не хватит.
 

Кром

Новичок
Совершенно непонятно, что ты хочешь сделать.
Объясни нормальным языком.
 

MaGIc2laNTern

Новичок
Так, а я разве ненормальным объясняю?!
Есть таблица в БД и у нее несколько полей.
В этой таблице скажем 100 записей.
И нужно произвести поиск по всей таблице и вывести ТОЛЬКО те записи где в поле user найдено gh (при том что учитывается и Ghost и maSterGH и т.д. и так во всех полях), а скажем в поле name найдено андр (повторюсь - все те-же правила - найдется и Андрей и андроID).
Ну вот допустим нашлось 4 записи где в поле user нашлось gh, а в поле name нашлось андр - вот их мне и надо вывести на экран.
Я просто никак не могу понять как бы произвести поиск сразу по нескольким полям и вывести только те результаты в котых нашлось все нужное, а не что-то одно.
 

Кром

Новичок
Т.е проблема у тебя заключается в том, что ты не знаешь о существовании запросов по нескольким полям?
Тогда тебе нужно хотя бы поверхностно ознакомиться с sql.
 

MaGIc2laNTern

Новичок
Гы, я кстати как раз вчера вечером узнал, вернее даже вспомнил.
А как это кстати лучше всего делать?
UNION'ом?
 
Сверху