Объединительные запросы объединения Mysql

Я работаю над сайтом знакомств, и благодаря отличным ответам мне удалось сделать этот запрос. Я полностью новичок 🙂

Проблема с этим запросом соединения заключается в том, что он, похоже, не удаляет повторяющиеся записи, и я не знаю, почему .

имя пользователя – это имя людей, которые присоединяются к сайту;

готовность – это то, что они желают сделать, часть их страницы профиля.

Например, если я ищу слово «обед» (как в следующем вопросе), запрос находит людей, у которых есть «обед» в своем имени пользователя или в профиле готовности .

Но иногда у кого-то есть слово «обед» в его имени пользователя и в его профиле готовности.

Как я могу удалить эти повторяющиеся строки?

Я использую этот запрос для кода навигации php.

Не могли бы вы помочь?

result = mysql_query(" (SELECT 1 as sort_col,username,pic0 FROM ".$table." WHERE username IS NOT NULL AND username LIKE '%lunch%') UNION (SELECT 2 as sort_col,username,pic0 FROM ".$table." WHERE username IS NOT NULL AND age BETWEEN '28' AND '45' AND willingness LIKE '%lunch%' ) ORDER BY sort_col LIMIT ".$offset.", ".$rowsperpage.""); 

Есть идеи?

Спасибо!

Обходной путь. Вы можете использовать:

 SELECT username, pic0 FROM ".$table." WHERE ( username LIKE '%lunch%' ) OR ( username IS NOT NULL AND age BETWEEN 28 AND 45 AND willingness LIKE '%lunch%' ) ORDER BY ( username LIKE '%lunch%' ) DESC 

Ваш sort_col гарантирует, что строки между двумя запросами всегда будут отличаться (1 против 2), поэтому дубликатов не будет.