MySQL: как искать несколько таблиц для строки, существующей в любом столбце

Как я могу найти в table_a table_b table_c, у которого есть случайное число столбцов для строки?

Я знаю, что это не правильный sql, но это было бы что-то вроде:

SELECT * FROM users, accounts, something_else WHERE ->ANY COLUMN CONTAINS 'this_string'<-

Ty заранее для сообщества SO

Ответ 1

Добавьте полнотекстовые индексы ко всем столбцам строки во всех этих таблицах, затем соедините результаты

select * from table1 where match(col1, col2, col3) against ('some string')
union all
select * from table2 where match(col1, col2) against ('some string')
union all
select * from table3 where match(col1, col2, col3, col4) against ('some string')
...