我的表格有一个这样的列:
---------
| col |
---------
| A |
| B |
| C |
---------
我想创建一个包含以下列名的新表:
-------------------
| A | B | C |
-------------------
有什么建议吗?非常感谢。
答案 0 :(得分:3)
一种方法是使用动态sql 假设所有列的数据类型为int,您可以执行以下操作:
创建并填充样本表(请在将来的问题中保存此步骤):
DECLARE @T table
(
col char(1)
)
INSERT INTO @T VALUES ('a'), ('b'), ('c')
构建动态sql:
DECLARE @Sql nvarchar(max) = 'CREATE TABLE YourNewTableName ('
SELECT @Sql = @Sql + col +' int,'
FROM @T
SET @Sql = LEFT(@Sql, LEN(@Sql) - 1) +');'
--Print @sql
执行它(您可能希望先打印它以确保它是正确的):
EXEC(@Sql)