SQL Выберите столбец, если значение совпадает с несколькими столбцами - PullRequest
0 голосов
/ 14 мая 2018

Мне нужно создать автозаполнение поиска с помощью AJAX.Предложения должны содержать только 10 наиболее введенных результатов.Поисковый запрос должен проверить несколько столбцов, если значение похоже на мою переменную.

Но моя проблема заключается в создании запроса и логики php для этого.

  1. Есть ли какой-нибудь плагин или что-то подобное для этого?
  2. Как выбрать столбец, если значение в нем похоже на мою переменную?
  3. Мне нужно создать запрос подсчета, который подсчитывает (во всех столбцах) "как часто здесь полное слово (разделенное пробелами)" <- </strong>, которое похоже на найденный (чтобы получить релевантность)

В конце мне нужно отсортировать найденные записи по их релевантности, чтобы получить 10 наиболее релевантных записей.

(Реальный запрос проверяет больше столбцов, чемвсего 2, но по фиктивным причинам все в порядке)

Запрос, который выбирает строки, в которых значение равно ...

select * from 
(
    (select department from entries where department like '%myVariable%') 
OR 
    (select grade from entries where grade like '%myVariable%')
)

Я думаю, вы понимаете, о чем я.У кого-нибудь есть намеки, предложения, примеры или полезные ссылки для меня?

Заранее спасибо!

С уважением,
FriaN

1 Ответ

0 голосов
/ 14 мая 2018

Почему бы не использовать здесь все объединения?

select department from entries where department like '%myVariable%'
union all
select grade from entries where grade like '%myVariable%'

Тогда вам следует заказать результаты:

select department, count(*) cnt from (
select department from entries where department like '%myVariable%'
union all
select grade from entries where grade like '%myVariable%')a
group by department
order by count(*) desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...