То, как вы структурировали свои данные, вы можете просто сделать
SELECT [row info you need]
FROM `table`
WHERE Name_1 LIKE '%value%'
OR Name_2 LIKE '%value%'
OR Name_3 LIKE '%value%'
Или с помощью полнотекстового индекса (сначала нужно создать индекс):
SELECT [row info you need]
FROM `table`
WHERE MATCH( names ) AGAINST ( 'value' )
Очевидно, что использование любого из них не скажет вам, какой столбец соответствует.
Но вам может быть лучше перестроить свою схему следующим образом
table
-----
id
[other info]
names
-----
id
name
tables_names
------------
table_id
name_id
Таким образом, вы можете сделать простое INNER JOIN и избежать использования отдельных предложений OR, и вы сможете легко определить, какое значение соответствует вашему запросу.