Нечеткое совпадение даты

0

У меня есть mysql db клиентов и обход веб-сайта, на котором были получены все обзоры за последние несколько лет. Теперь я пытаюсь сопоставить эти отзывы с клиентами, чтобы я мог отправлять их по электронной почте. Проблема в том, что сайт обзора позволял им вводить все, что они хотели для имени, поэтому в некоторых случаях у меня есть полное имя и последнее начальное, а в некоторых случаях первое и последнее полное и полное имя. Он также дает приблизительное время, которое было опубликовано, например "1 неделя назад", "6 месяцев назад" и т.д., Которые мы уже перешли к приблизительной дате.

Теперь мне нужно попробовать сопоставить их с клиентами. Кажется, лучший способ - сделать нечеткий поиск по именам, а затем, как только я нахожу все John B% я ищу тот, у которого дата завершения работы ближе к публикации публикации, естественно, устраняя все, что было опубликовано до завершения работ,

Я собрал небольшой образец данных, где table1 является клиентом, table2 - обзор для сравнения здесь: http://sqlfiddle.com/#!9/23928c/6/0

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

Я использую PHP/Laravel для запроса MySql

Теги:

1 ответ

0

Вы можете использовать DATEDIFF с абсолютными значениями:

ORDER BY ABS(DATEDIFF('date', $calculatedDate)) DESC

Чтобы найти записи, которые соответствуют вашей оценке, являются точными, положительными или отрицательными.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню