какое-то мракобесие у вас с запросом.. непонятно зачем регулярка (это же капец как обузно!) - приведите, пожалуйста, формат поля, с примерами данных.. а лучше полностью схемы таблиц..
ну и даже если с regexp'ом (без которого, скорее всего, можно обойтись), то как-то примерно так:
Код:
SELECT
DISTINCT a.id,
a.icon_path,
e.id_user AS session
FROM pro_user a
JOIN pro_user_match b ON b.id_user = a.id
LEFT JOIN pro_active_sessions e
WHERE a.gender IN (2, 3) AND b.gender REGEXP '[[:<:]](2)[[:>:]]'
AND YEAR( a.date_birthday ) BETWEEN YEAR( NOW() - INTERVAL $age_max YEAR ) AND YEAR( NOW() - INTERVAL $age_min YEAR )
AND a.id <> '30375'
AND a.icon_path <> '' AND a.id_country = '23' AND a.id_region = '303' AND a.id_city = '1869007'
AND a.status='1' AND a.visible='1' AND a.root_user = '0' AND a.guest_user='0'
ORDER BY a.date_topsearched DESC, a.date_registration DESC;
: