Создать новую таблицу со столбцом для каждого элемента в другой таблице - PullRequest
0 голосов
/ 24 июня 2018

Я создал таблицу в MySQL, где у меня есть все имена данных, которые я собираюсь извлечь из данных FRED.

enter image description here

Теперь я хочу создать новую таблицу, в которой 1504 имени в моем примере таблицы выше имеют по одному столбцу.

AAA AAA10M AAAFFM ADBJORNS and so on.

Так что каждыйname в fred_namecol должно получить один столбец с числовым значением.Есть ли простой способ сделать это вместо того, чтобы писать все вручную?

Может быть, есть слишком длинный цикл для каждого имени и для него столбец превращается в новую таблицу?

1 Ответ

0 голосов
/ 25 июня 2018

Да. Есть выход.

в следующем запросе; заменить WRITE_YOUR_TABLE_NAME_HERE именем таблицы, содержащей fred_namecol столбец:

drop table if exists columns_over_1000;
set @prefix = 'CREATE TABLE columns_over_1000 (';
set @suffix = '\n);';
select @create_table_sql := concat(
    @prefix, 
        group_concat('\n    `', fred_namecol, '` INT'), 
    @suffix) 
from `WRITE_YOUR_TABLE_NAME_HERE`;

PREPARE stmt1 FROM @create_table_sql;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;

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