mysql - 为另一个表中的每个元素创建一个包含一列的新表
问题描述
我在 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;
推荐阅读
- excel - Microsoft.Office.Interop.Excel - 在 vb.net 中使用 UTF-8 编码将 .xlsx 转换为 .csv
- c# - 使用 ViewModel 在 xaml 中显示列表
- android - Build celadon android source error: : Please resolve Conflict(s) and re-run lunch
- reactjs - React Material Table:一次编辑所有行
- java - Gradle + Netbeans/IntelliJ IDEA、printf() 和 print() 不起作用,但 println() 是,有什么解决方法吗?
- php - 大括号内的 PHP preg_replace 模式,但忽略方括号内的“标志”
- python - Django Python:将价格转换为条纹金额
- java - 错误:java.lang.UnsatisfiedLinkError with Charuco Camera Calibration (DetectorParameters)
- java - 在 CLI 和代码中重现斯坦福 CoreNLP 奥斯汀演示时的不同精度/召回/f1 值
- javascript - 如何将正确答案放在建议的答案中?(简单的方程式测验)