Объединение SQL для неизвестных полей

#mysql #sql

#mysql #sql

Вопрос:

Это немного странный вариант использования, но предположим, что пользователь предоставил SQL-запрос и, не зная запроса, у меня есть доступ только к подзапросу в форме:

 SELECT * FROM (users query) subquery
  

Есть ли какой-либо способ — не зная полей в подзапросе, выполнить поиск по содержимому по всем полям? Под этим я подразумеваю что-то вроде:

 SELECT * FROM (users query) subquery
WHERE CONCAT(all_subquery_fields) like '%term%'
  

Возможно ли что-то подобное CONCAT(all_subquery_fields) или это невозможно без знания полей в подзапросе?

Комментарии:

1. @juergend mysql.

2. Это невозможно. Вам нужно будет проанализировать запрос в логике вашей программы и настроить его перед его выполнением.

3. Вы предполагаете, что запрос пользователя содержит только текстовые поля. Это правда?

4. Было интересно, есть ли функция для преобразования вашего результирующего набора в объект JSON или объект XML. Тогда запрос может быть возможен.

5. like '%term%' это НЕ полнотекстовый поиск. Используйте термины правильно.