Я создал таблицу в MySQL, где у меня есть все имена данных, которые я собираюсь внести из данных FRED.
Теперь я хочу создать новую таблицу, где имена 1504 в приведенной выше таблице примеров имеют каждый столбец.
AAA AAA10M AAAFFM ADBJORNS and so on.
Поэтому каждое имя в fred_namecol должно содержать по одному столбцу с числовым значением. Есть ли простой способ сделать это, а не писать все вручную?
Может быть, есть путь слишком циклы через каждое имя и сделать столбец для них в новую таблицу?
Да. Есть выход.
В следующем запросе; замените 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;