+ -
当前位置:首页 → 问答吧 → SQL SERVER 问题,高手来,在线求解

SQL SERVER 问题,高手来,在线求解

时间:2011-11-12

来源:互联网

一张表中有300多个列,我想把这300个列插入到新表中的一个列中,请问各位老师这样的问题改怎么解决?

作者: lisengl   发布时间: 2011-11-12

我总不能 union all 300次吧

作者: lisengl   发布时间: 2011-11-12

SQL code
declare @s nvarchar(max)

select  @s=isnull(@s+' union all select ',' select ')+quotename(Name)+' from 表名' from syscolumns where ID=object_ID('表名')
exec('insert   NewTable (COl)'+@s)

作者: roy_88   发布时间: 2011-11-12

SQL code
declare @s nvarchar(max)

select  @s=isnull(@s+' union all select ',' select ')+quotename(Name)+' from 表名' from syscolumns where ID=object_ID('表名')
insert into  NewTable (COl) exec(@s)

作者: roy_88   发布时间: 2011-11-12

不好意思,问题描述错误,是这样的:基础数据表中总共有9000多列,因为SQL表中最多允许有1024列,把基础数据分为9个表存储,现在是要在这9000多列里面查出那300多列插入到新表中的一列中。

作者: lisengl   发布时间: 2011-11-12