Выбрать поля, название которых совпадает с шаблоном - MySQL
Формулировка задачи:
Здравствуйте. Есть запрос в базу данных на выборку из нескольких таблиц.
Вопрос такой: как переписать данный запрос, чтобы вместо всех полей он выбирал только нужные? Дело в том, что мне нужны все поля из таблицы `ybwuz_jshopping_products`, название которых начинается с "extra_field_".
Названия полей в этой таблицы такие: "extra_field_3", "extra_field_5", "extra_field_54". При этом структура таблицы и названия полей могут меняться, поэтому заранее узнать какие именно поля выбирать не получится.
В общем запрос должен получиться примерно следующим:
SELECT * FROM `ybwuz_jshopping_products_to_categories` cats
LEFT JOIN `ybwuz_jshopping_products` prods ON prods.`product_id`=cats.`product_id`
LEFT JOIN `ybwuz_jshopping_currencies` currencies ON prods.`currency_id`=currencies.`id`
WHERE cats.`category_id` IN (".$categorys.") AND prods.`product_publish`='1' ".$addsql." AND prods.`product_id` IN (".$pidsstr.")
GROUP BY prods.`product_id`";SELECT prods.`product_id`, cats.`category_id`, prods.`extra_field_%` AS fieldName FROM `ybwuz_jshopping_products_to_categories` cats .........
Решение задачи: «Выбрать поля, название которых совпадает с шаблоном»
textual
Листинг программы
PREPARE stmt FROM @myQuery; EXECUTE stmt;
Объяснение кода листинга программы
В представленном коде происходит подготовка и выполнение SQL-запроса. Вот список действий, которые происходят в коде:
PREPARE stmt FROM @myQuery;- Эта строка кода подготавливает SQL-запрос, который хранится в переменной@myQuery. Подготовка запроса включает в себя определение структуры запроса и его параметров.EXECUTE stmt;- Эта строка кода выполняет подготовленный SQL-запрос. Выполнение запроса включает в себя замену параметров на их значения и выполнение запроса на сервере базы данных. Вот так выглядит оформление списка с номерами до 20:Название переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменнойНазвание переменной:Значение переменной