mysql: выбор нескольких столбцов с помощью LIKE - PullRequest
0 голосов
/ 26 октября 2018

У меня есть много столбцов, которые имеют форму: rp_id_1 rp_id_2 и так далее.Я хочу получить данные для этих конкретных столбцов.На форуме я вижу ниже предлагаемый тип запроса:

"SELECT column_name
FROM information_schema.columns
WHERE table_name='loc_tbl'
AND column_name LIKE 'rp%'"

Однако это возвращает только имена столбцов, а не данные.Вывод:

+-------------+
| column_name |
+-------------+
| rp_id_1     |
| rp_id_2     |
| rp_id_3     |

Чего мне не хватает?Как мне получить данные для всех этих столбцов?Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Мы можем сделать это, используя динамический MySQL. Из командной строки MySQL:

SELECT @cols := GROUP_CONCAT(column_name) FROM information_schema.columns
    WHERE table_name = 'loc_tbl' AND column_name LIKE 'rp%';
SET @query = CONCAT("SELECT ", @cols, " FROM lob_tbl");
PREPARE stmt FROM @query;
EXECUTE stmt;
0 голосов
/ 26 октября 2018

SELECT

имя_ столбца, *

FROM information_schema.columns

ГДЕ имя_таблицы = 'loc_tbl'

И имя_ столбца LIKE 'rp%' "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...