У меня есть столбец в таблице, которая содержит названия компаний, написанные в различных формах - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть таблица базы данных с примером столбца:

DB_COMPANY_NAMES: "Школьный округ Вашингтона" ,, "Wash. Sch. District" ,, "WSD" ,, "Amazing Grace Limited", "Amazing GraceLTD "," Star Life limited "," Starlife "

Когда я хочу получить данные только по школьному округу штата Вашингтон, я хочу, чтобы выходные данные дали мне 3 результата выше.

Когда мне нужны данные отолько Звездная жизнь Я хочу, чтобы результат дал мне 2 результата выше

Как мне это сделать?Спасибо

Ответы [ 2 ]

1 голос
/ 24 апреля 2019

Вам нужна вспомогательная таблица с эквивалентами.Пример Aux_Table

Aux Table

Затем вы можете отфильтровать свою таблицу "Table_1" и поле своей таблицы Company.

Select * 
from Table_1 
inner join Aux_Table 
on Table_1.Company = Aux_Table.Name 
where Aux_Table.Code = "Washington school district" 

Я не знаю метод без Aux_table с эквивалентностями.

С уважением.

0 голосов
/ 24 апреля 2019

Итак, здесь показаны два метода, но они зависят от данных.

Каждый использует index & match с таблицей вариантов - вам нужно построить таблицу для всех вариантов, которые вы хотите.

Другой использует поиск и подстановочные знаки, ищущие первый символ - но это может иметь свои проблемы с несколькими экземплярами символов, совпадающими с двумя разными именами. Использование первых двух символов каждого слова может помочь, но у меня нет ваших данных или примеров.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...