#sql #oracle #oracle11g #oracle-sqldeveloper
#sql #Oracle #oracle11g #oracle-sqldeveloper
Вопрос:
Я должен написать запрос в Oracle. У меня есть таблица с именем ‘Entity’ с 2 столбцами ‘Pref_mail_name’ и ‘spouse_name’. Теперь мне нужен список всех имя_ супруги, где фамилия имя_ супруги не заполняется из pref_mail_name. Например, моя таблица содержит следующие данные
Pref_mail_name spouse_name
Kunio Tanaka | Lorraine
Mrs. Betty H. Williams | Chester Williams
Mr. John Baranger | Mrs. Cathy Baranger
William kane Gallio | Karen F. Gallio
Sangon Kim | Jungja
мне нужен вывод только в виде 1-й и 5-й строк. Я провел некоторый анализ и придумал встроенную функцию oracle
SELECT PREF_MAIL_NAME, SPOUSE_NAME, UTL_MATCH.JARO_WINKLER_SIMILARITY(a, b)
similarity from entity
order by similarity;
Но приведенный выше запрос не выглядит подлинным.Даже если фамилия супруга не заполняется из pref_mail_name, она дает значение выше 80 для сходства.
Комментарии:
1. что такое
a
иb
в вашем запросе? можете ли вы предоставить воспроизводимый тестовый пример? мой экземпляр показывает < 50 для строк 1 и 5 и > = 64 для остальных2. Всегда ли последним словом будет фамилия? Если да, то почему бы просто не сравнить, совпадают ли последние слова — нет необходимости использовать функции подобия
3. Это будет практически невозможно. Вы можете посмотреть на последнее слово, но последнее слово может быть суффиксом имени, то есть «Младший», что означает, что «Дженнифер Смит» и «Боб Смит-младший» не будут совпадать. Вы можете использовать совпадение, как сейчас, но «Кристин Телл» может сообщить о совпадении с «Кристин Хилл». Не говоря уже о том, что многие жены больше не берут фамилии своих мужей.
4. Hello..my запрос был SELECT PREF_MAIL_NAME, SPOUSE_NAME, UTL_MATCH.JARO_WINKLER_SIMILARITY(PREF_MAIL_NAME, SPOUSE_NAME) сходство из порядка объектов по сходству; Всегда фамилия отображается в последнем .. не могли бы вы сказать мне, как разбить слова в pref_last_name и spouse_name и сравнить их фамилии? Я в порядке, если некоторые строки отсутствуют там, где есть JR, я могу сделать их вручную каким-либо другим подходом