Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Соединить данные  [new]
leone-
Member

Откуда:
Сообщений: 203
Как можно соединить данные?
Есть две таблицы, в одной имя и ИД, в другой имя. Нужно их слепить по имени.

Тут всё точно
NAME ID
Kia RIO 1
Renault Duster 2
Skoda Superb 3


Тут вообще не понятно как могут быть записаны данные.
NAME_R
КИА RIО
КИА РИО
РЕНО DАSТЕR
РЕНО ДАСТЕР
РЕНО DUSТЕR
ШКОДА СУПЕРБ
ШКОДА СУПЕРВ


Надо получить
NAME ID NAME_R
Kia RIO 1 КИА RIО
Kia RIO 1 КИА РИО
Renault Duster 2 РЕНО DАSТЕR
Renault Duster 2 РЕНО ДАСТЕР
Renault Duster 2 РЕНО DUSТЕR
Skoda Superb 3 ШКОДА СУПЕРБ
Skoda Superb 3 ШКОДА СУПЕРВ


Вижу варианты, это к NAME_R написать translate, соответствие РЕНО = Renault, DАSТЕR = DАSТЕR...
Тут очень много вариаций-не совсем рабочий вариант.
Ну или просто тупо сидеть и в ручную за соединять в Excel.

Что можете посоветовать?
11 окт 18, 10:15    [21701229]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 28496
utl_match
11 окт 18, 10:35    [21701248]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
982183
Member

Откуда: VL
Сообщений: 2491
Привести данные к нормальному виду.
Либо составить словарь замен.
11 окт 18, 11:10    [21701307]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
Рогафип
Member

Откуда:
Сообщений: 4
Да ладно... Сделай 4 ошибки в слове хлеб, получишь жопа. РЕНО - ПЕЖО, ШКОДА - МАЗДА ну и т.д.
11 окт 18, 11:40    [21701357]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
Vladimir779
Member

Откуда:
Сообщений: 82
leone-,

сделай транслитерацию кирилических символов в латиницу, далее используй функцию soundex()
11 окт 18, 15:17    [21701687]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9244
Elic
utl_match


Интересно какая будет similarity/distance у английского слова и его cобрата написанного кириллицей (DUSTER и ДАСТЕР).

SY.
11 окт 18, 15:31    [21701705]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 28496
SY
Интересно какая будет similarity/distance у английского слова и его cобрата написанного кириллицей (DUSTER и ДАСТЕР)
Транслитерация и капитализация являются подразумевающимися навыками.
11 окт 18, 15:34    [21701711]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9244
Vladimir779
сделай транслитерацию кирилических символов в латиницу, далее используй функцию soundex()


Всего это не рeшит. Kак это будет например с PEUGEOT - ПЕЖО или с Renault - РЕНО?

SY.
11 окт 18, 15:37    [21701714]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9244
Elic
Транслитерация и капитализация являются подразумевающимися навыками.


А дальше?

SELECT  UTL_MATCH.JARO_WINKLER_SIMILARITY('PEUGEOT 4007','PEUGEOT 4008') DIFFERENT_MODELS,
        UTL_MATCH.JARO_WINKLER_SIMILARITY('CITROEN XSARA PICASSO','SITROEN KSARA PIKASSO') SAME_MODEL
  FROM  DUAL
/

DIFFERENT_MODELS SAME_MODEL
---------------- ----------
              96         75

SQL> SELECT  UTL_MATCH.EDIT_DISTANCE_SIMILARITY('PEUGEOT 4007','PEUGEOT 4008') DIFFERENT_MODELS,
  2          UTL_MATCH.EDIT_DISTANCE_SIMILARITY('CITROEN XSARA PICASSO','SITROEN KSARA PIKASSO') SAME_MODEL
  3    FROM  DUAL
  4  /

DIFFERENT_MODELS SAME_MODEL
---------------- ----------
              92         86

SQL> SELECT  UTL_MATCH.EDIT_DISTANCE('PEUGEOT 4007','PEUGEOT 4008') DIFFERENT_MODELS,
  2          UTL_MATCH.EDIT_DISTANCE('CITROEN XSARA PICASSO','SITROEN KSARA PIKASSO') SAME_MODEL
  3    FROM  DUAL
  4  /

DIFFERENT_MODELS SAME_MODEL
---------------- ----------
               1          3

SQL>  


SY.
11 окт 18, 16:15    [21701758]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 28496
SY
А дальше?
Удочка, а не рыба.
11 окт 18, 17:39    [21701864]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9244
Elic
Удочка, а не рыба.


Не вижу удочки. Если ты намекаешь на отдельное сравнение цифр, то:

SQL> SELECT  UTL_MATCH.EDIT_DISTANCE_SIMILARITY('TOYOTA SIENNA','TOYOTA SIENTA') DIFFERENT_MODELS,
  2          UTL_MATCH.EDIT_DISTANCE_SIMILARITY('CITROEN XSARA PICASSO','SITROEN KSARA PIKASSO') SAME_MODEL
  3    FROM  DUAL
  4  /

DIFFERENT_MODELS SAME_MODEL
---------------- ----------
              93         86

SQL> 


SY.
11 окт 18, 19:05    [21701925]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
merch
Member

Откуда:
Сообщений: 127
Что удивляет, столько людей бьются интеллектом и пытаются решить задачу, конкретизировать которую Автор даже не удосужился.

На первой трудности, которая возникла при его мозговом штурме, он поводит итог:

Тут вообще не понятно как могут быть записаны данные.
Тут очень много вариаций


Если вопрос автора решится приведением все к одному регистру, удалению лишних пробелов и наличием некоторого справочника соответствий, может быть он нам об этом скажет?

А то он как киллер Леон, затаился.
11 окт 18, 19:26    [21701932]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9244
merch
наличием некоторого справочника соответствий


Вот и я о том-же. Без справочника соответствий - никак. И выдавать как спиcoк соосветсвий так и спиcок "соосветсвие не найдено" на базе которого обновлять справочник соответствий.

SY.
11 окт 18, 20:15    [21701959]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
SkilledJunior
Member

Откуда:
Сообщений: 295
SY
Без справочника соответствий - никак.

Похоже формирование справочника соответствий и есть задача автора темы.
11 окт 18, 22:38    [21702026]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
XMLer
Member

Откуда:
Сообщений: 258
merch
Что удивляет, столько людей бьются интеллектом и пытаются решить задачу, конкретизировать которую Автор даже не удосужился.


Удивляет другое, почему его сразу не послали на поиски готовых MDM решений
12 окт 18, 14:03    [21702517]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
KOT MATPOCKuH
Member

Откуда: г.Верхняя Салда, Урал, Россия, Земля, Млечный путь,Вселенная
Сообщений: 247
Я б на месте автора озадачился вопросом - откуда такие данные?

Была схожая проблема, в итоге поплясал с бубном и проапдейтил в таблице наименования - на "правильные".
Правда на это у меня ушло несколько часов, и в клиенте сделал, чтобы юзвери выбирали из списка.
В итоге проблем не стало.

Если у автора на самом деле проблема в названиях моделей авто, то их не так много, привести в порядок не сложно.
12 окт 18, 17:21    [21702784]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
Javl
Member

Откуда:
Сообщений: 56
А много марок или это для примера?
14 окт 18, 20:49    [21703723]     Ответить | Цитировать Сообщить модератору
 Re: Соединить данные  [new]
leone-
Member

Откуда:
Сообщений: 203
Партнёры присылают нам такие данные об авто в екселе.

Сделал массив соответствий.

Rus = Array("ДЖИП", "ДЖИЛИ", "ДЖЕЛИ", "ДЭУ"

Eng = Array("jeep", "Geely", "Geely", "Daewoo",

и т.д.

Более менее сопоставил данные.

Всем спасибо за ответы.
15 окт 18, 15:21    [21704271]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить