将查询结果插入到另一张表的语句怎么写

SL0413 2008-07-26 12:21:31
将A表的查询结果插入到B表中,
AB表结构不完成相同,B表有个字段“ID”A表中没有,并且B表有约束ID的值不能重复


请问这样的语句怎么写,主要是那个ID字段怎么处理。
...全文
3049 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yun3948 2010-12-11
  • 打赏
  • 举报
回复
今天用到这个功能了。学习了。谢谢哈哈
rockyvan 2008-07-26
  • 打赏
  • 举报
回复
select into 和 insert into select 两种表复制语句
select * into destTbl from srcTbl

insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl

以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的。

第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。

第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量

zhiguo2008 2008-07-26
  • 打赏
  • 举报
回复
 如果ID为自增列..
insert into A (ID之外的列....) select 列1,列2... from B
如果ID不为自增列

select px=identity(int,1,1),列1,列2... into # from B where ....
insert into A(ID,列1....) select px,列1,列2... from #
bwu851 2008-07-26
  • 打赏
  • 举报
回复
LZ明明说是将A表的结果插入B表中....



INSERT INTO B(ID, colA, colB)
SELECT NEWID(), colA, colB
FROM A
WHERE.....
leo_lesley 2008-07-26
  • 打赏
  • 举报
回复
insert A表(列1,列2。。。)
select 列1,列2。。。) from B表
mustudent 2008-07-26
  • 打赏
  • 举报
回复
insert A(cola,colb) select cola,clob from b where ... and not exists(select 1 from A where ID=b.ID)
utpcb 2008-07-26
  • 打赏
  • 举报
回复
insert A表(列1,列2。。。)
select 列1,列2。。。) from B表
linguojin11 2008-07-26
  • 打赏
  • 举报
回复
有自增列都不行,应为你B表中本身就有数据,你都没说B表的ID列到底是什么情况。。。我觉得有点奇怪
可能是我的理解有点问题,等待高手
hyqwan11112 2008-07-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhiguo2008 的回复:]
SQL code如果ID为自增列..insertintoA (ID之外的列....)select列1,列2...fromB
如果ID不为自增列selectpx=identity(int,1,1),列1,列2...into#fromBwhere....insertintoA(ID,列1....)selectpx,列1,列2...from#
[/Quote]
SL0413 2008-07-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhiguo2008 的回复:]
SQL code 如果ID为自增列..
insert into A (ID之外的列....) select 列1,列2... from B
如果ID不为自增列

select px=identity(int,1,1),列1,列2... into # from B where ....
insert into A(ID,列1....) select px,列1,列2... from #
[/Quote]


ID列不是自增列。。我试试第二句。

其他人回答的都文不对题呀。
insert into B select * from A


这个语句我知道,但是主要问题是B表那个ID列的处理,ID不能为空也不能重复



qqhmitzk 2008-07-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 rockyvan 的回复:]
SQL codeselect into 和 insert into select 两种表复制语句
select * into destTbl from srcTbl

insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl

以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的。

第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。

第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了…
[/Quote]
同意

34,597

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧