Я рекомендую использовать REGEXP
здесь:
SELECT at.*
FROM AddressTable at
INNER JOIN NamesTable nt
ON at.Owner_Name REGEXP CONCAT('^', nt.Last_Name, ',');
Демо
Как упоминалось в предыдущих комментариях, указанная фамилиясамо по себе не может быть уникальным.Мы можем изменить приведенный выше запрос так, чтобы он также проверял имя, предполагая, что таблица имен также содержит это:
SELECT at.*
FROM AddressTable at
INNER JOIN NamesTable nt
ON at.Owner_Name REGEXP CONCAT('^', nt.Last_Name, ',') AND
at.Owner_Name REGEXP CONCAT(' ', nt.First_Name, '$');
Но даже это может все еще иметь проблемы, потому что иногда люди имеют имя или фамилию, состоящую издва (или более) слова.Также возможна такая вещь, как отчество.
Для лучшего решения вы можете разбить имя, отчество и фамилию на отдельные столбцы, прежде чем переносить данные в базу данных.