2015-08-30 2 views
1

Можно ли запросить mysql по таблице, результат был найден? Другими словами, при запросе нескольких таблиц (JOIN и OR в предложении WHERE) можно ли распределять приоритеты по таблицам?mysql сортировать по таблице. Результат был найден в

Пример:

Таблица А names - Адам, Эшли, Аарон

Таблица B names - Брайан, Билл, Барбара

Если мой запрос выполняет поиск всех этих таблиц:

SELECT name from names 
JOIN A on A.id = names.id 
JOIN B on B.id = names.id 
WHERE A.name LIKE '%derp%' OR B.name LIKE '%derp%' 
LIMIT 5 

Теперь s ау я хочу расставить приоритеты таблицы B, так что результаты будут:

Брайан, Билл, Барбара, Адам, Эшли

И если я хочу установить приоритеты таблицы А, результаты были бы тогда:

Адам, Эшли, Аарон, Брайан, Билл

ответ

1

Вы можете добавить order by. Например, для таблицы B:

order by (B.name LIKE '%derp%') desc 

MySQL обрабатывает логическое выражение как 0 или 1 в целочисленном контексте. Таким образом, матч будет равен 1.

Смежные вопросы