Форум программистов, компьютерный форум, киберфорум
Наши страницы
MySQL
Войти
Регистрация
Восстановить пароль
 
vlaik
1 / 1 / 1
Регистрация: 05.11.2012
Сообщений: 79
1

Выбрать поля, название которых совпадает с шаблоном

12.07.2016, 20:28. Просмотров 268. Ответов 1
Метки нет (Все метки)

Здравствуйте. Есть запрос в базу данных на выборку из нескольких таблиц.
SQL
1
2
3
4
5
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`";
Вопрос такой: как переписать данный запрос, чтобы вместо всех полей он выбирал только нужные? Дело в том, что мне нужны все поля из таблицы `ybwuz_jshopping_products`, название которых начинается с "extra_field_".

Названия полей в этой таблицы такие: "extra_field_3", "extra_field_5", "extra_field_54". При этом структура таблицы и названия полей могут меняться, поэтому заранее узнать какие именно поля выбирать не получится.

В общем запрос должен получиться примерно следующим:
SQL
1
SELECT prods.`product_id`, cats.`category_id`, prods.`extra_field_%` AS fieldName FROM `ybwuz_jshopping_products_to_categories` cats .........
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2016, 20:28
Ответы с готовыми решениями:

Составить запрос: студенты, место проживания которых не совпадает с городом, в котором находится университет
Помогите составить запрос, или хотя бы понять метод составления. Написать...

Вместо значения появляется название поля
Добрый день. Есть таблица: <meta charset="utf-8" /> <?php...

Не могу сменить название поля в MySQL
Не могу сменить в PhpMyAdmin имя поля, хотя всё вроде делаю как надо. alter...

Выбрать уникальные поля по условию
есть таблица, логирует работу пользователей id user_id datetime 1 ...

Выбрать из таблицы все поля с кодами
Выбрать из таблицы tab1 все поля с кодами 1,2,3,4,5,6,7.

1
crautcher
2019 / 1991 / 463
Регистрация: 27.05.2011
Сообщений: 6,837
18.07.2016, 16:23 2
Проще на PHP собрать поля, но раз это в разделе mysql...

Список полей вернет
MySQL
1
select `COLUMN_NAME` from `information_schema` . `COLUMNS` where `TABLE_SCHEMA` = 'БАЗА' and `TABLE_NAME` = 'ТАБЛИЦА' and COLUMN_NAME like 'Паттерн%';
Склеиваем запрос в переменную:
MySQL
1
2
set  @myQuery = null;
SELECT concat( 'select ' , GROUP_CONCAT( COLUMN_NAME ) , ' from `таблица`' ) INTO @myQuery  from `information_schema` . `COLUMNS` where `TABLE_SCHEMA` = 'БАЗА' and `TABLE_NAME` = 'ТАБЛИЦА' and COLUMN_NAME like 'Паттерн%';
И выполянем
MySQL
1
PREPARE stmt FROM @myQuery;  EXECUTE stmt;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2016, 16:23

Выбрать уникальные значения с максимальным значением поля
Ситуация следующая, sql запрос используется для формирования отчета, в который...

Выбрать из 3-х таблиц, 2-е из которых в другой БД
Добрый день всем! Задача такая (хочется обойтись малой кровью): есть 2 БД...

Выбрать заказы за 1 квартал 2006 года. Выводить все поля.
К сожалению очень трудно дается SQL, прошу помочь. Выбрать заказы за 1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru