怎麼把下面的的sql語句查詢出來的結果插入到一張新表中去求大神幫忙

2022-02-26 16:19:11 字數 1360 閱讀 5372

1樓:發生等將發生

@sql這個是你生成的sql語句,你在你的sql中增加一個into table,這樣能不能滿足你的需求呢?

關於select into語句我就不多說了,給你參考連結,你看看是不是你要的

還有就是,你也可以將insert 加到你的@sql語句的前面直接執行,是不是也行呢?

比如:現有的@sql = 'select name from table union all select ''zhangsna'' '

你修改成@sql2 = 'insert into table2(name) ' + @sql,這樣是不是也行?

我們既然寫儲存過程了,而且目的也只是唯一的,那麼我們就可以考慮直接將所有步驟放在儲存過程中來處理,沒必要再拿出來單獨考慮怎麼用

--表create table test

name varchar(50)

go--動態sql新增資料

insert into test

exec('select 1')

go--儲存過程

create proc protest

asdeclare @sql nvarchar(100) = ''

declare @s int = 1

while(@s < 5)

begin

select @sql += 'select ' + cast(@s as varchar(20)) + ' union all '

set @s += 1

endselect @sql += 'select 999'

exec(@sql)

go--儲存過程新增資料

insert into test

exec protest

2樓:匿名使用者

在select之前加上create table table名

create table table名 select 。。。。就可以了

sql語句中如何從一張表中查詢資料插入到另一張表中?

3樓:匿名使用者

如果兩表欄位相同,則可以直接這樣用。

insert into table_a select * from table_b

如果兩表欄位不同,a表需要b中的某幾個欄位即可,則可以如下使用:

insert into table_a(field_a1,field_a2,field_a3) select field_b1,field_b2,field_b3 from table_b

還可以加上where條件

SQL把查詢出的列轉換成行,SQL把查詢出的一個列轉換成行

看這裡,比較詳細 sql 如何把一列的值轉換成一行顯示 1 最原始的方法,利用 select.unionselect 欄位1 from 表名 where 條件 union select 欄位2 from 表名 where 條件 select 欄位3 from 表名 where 條件 2 利用 sys...

Sql語句的TOP用法,sql查詢語句 top n的用法

select top 1 from table select top 1 2 from table 取前3行資料 區別就是 裡面可以是個表示式 沒有區別個人的習慣 在sqlserver2000中top後只可以跟常數,在2005後可以跟變數了 也許唯一的區別就是top expression 括號中可以...

求這種查詢的具體sql語句

第一種解決方案 select from select spid,hw from t 1 src pivot count hw for hw in hwi00000001 hwi00000002 piv 第二種解決方案 select spid,sum hwi00000001 as hwi0000000...