Подскажите как сделать следующие.
Есть обработка которая загружает номенклатуру из екселя. В одном екселе наименование "Сапоги красные" в Другом "Красные Зимние Сапоги". По сути это одна и таже позиция.
Я разбираю Наименование новой по пробелу, получаю несколько слов. В данном случае
-Сапоги
-Красные
Далее нужно создать запрос который выберет всю номенклатуру, которая в наименование содержит хотя бы одно слово из переданного списка.
Конкретный ответ на Ваш вопрос в запросе посмотрите на условие ПОДОБНО.
Но как человек, интересовавшийся данным вопросом, настоятельно рекомендую посмотреть на smatch.dll - его можно скачать
отсюда Это библиотека нечеткого сравнения строк, она как раз предназначена для таких нужд, как Ваша.
Есть пример ее использования, но к сожалению для 77
Удар по бездуховности
Занимался анализом и сопоставлением строк и вообще алгоритмами на строках... Даже диплом на сходные темы писал. На самом деле не будет четкого рецепта, всегда, конечно, есть тонкости, есть что-то, что подойдет, но лишь для части позиций. Потом придется проверять все. Полноценный лингвистический анализ - это почти искусственный интеллект, с нечетким совпадением строк.... и т.д.
В вашем случае может возникнуть ситуация, когда еще и опечатка придет... вот уж анализировать будете ее...
Мастер_миража
17.10.2008, 15:06
случай когда ит технологии бессильны
в базе всегда должны быть ключевые поля, в данном случае артикул или код