将表A中的某几行检索出来,再插入表B中,怎样写成一条sql语句?

霜寒月冷 2009-11-24 01:45:06
将表A中的某几行检索出来,再插入表B中,怎样写成一条sql语句?

表 A(column1,column2,column3,column4,ID)

表 B(column1,column2,column3,column4,column5,column6)

----------
select column1,column2,column3,column4 from A where ID in (1,2,3,4)


insert into B(column1,column2,column3,column4,cloum5)values("A1","A2","A3","A4","B1")

//(1.)上面insert 语句再写个四条应该能实现。但是如果是个n条。那么就要写n多sql个语句。能不能只写一条语句实现
其中,“A1”,“A2”,“A3”,“A4” 的数据是从表A 中 检索出来的 。 B1 为当前时间


...全文
186 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
BBCCSDN 2011-09-09
  • 打赏
  • 举报
回复
说得好,如果是更新数据呢?
霜寒月冷 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 icelovey 的回复:]
引用 8 楼 chz415767975 的回复:
为什么insert 后面 连values 都没的
SQL code
Insert可以使一个表新增一个或多个记录:INSERTINTO:新增一个记录。INSERTINTO…SELECT:新增多个记录。

一、INSERTINTO

新增一个记录的INSERT INTO语法如下:INSERTINTO 表[(字段1[,字段2[, ...]])]VALUES (值1[,值2[, ...])

新增的记录,将依照指定字段排列的顺序插入对应的值,譬如值1将被插入至字段1,值2将被插入至字段2,依此类推。

若未指定 (字段1[,字段2[, ...]]) ,将依照表所定义的字段排列的顺序插入对应的值,在VALUES 子句必须包含表中的每一字段值。

值间须使用逗点分隔,文字字段须使用单用引号 ('值') 括起来。


二、InsertInto...Select

若要新增多个记录,可以使用INSERTINTO…SELECT,语法如下:INSERTINTO 表[IN 外部资料库][(字段1[,字段2[, ...]])]SELECT[表.]字段1[, 字段2[, ...]FROM 表

如果表包含一个主索引,须确定新增到主索引字段的值是唯一的且不可为Null值。

原表的字段为自动编号类型时,如果您要将新增记录重新编号,就不要在查询之中包含自动编号字段。若要保持原字段中的值,则将自动编号加在查询之中。INSERT INTO将所新增的记录加入原有的表之中。若要建立一个新的表,可以使用SELECT...INTO 的语句。
[/Quote]
谢谢。很详细了
icelovey 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 chz415767975 的回复:]
为什么insert 后面 连values 都没的
[/Quote]

Insert可以使一个表新增一个或多个记录:

INSERT INTO:新增一个记录。

INSERT INTO…SELECT:新增多个记录。

一、INSERT INTO

新增一个记录的INSERT INTO语法如下:

INSERT INTO 表 [(字段1[,字段2[, ...]])] VALUES (值1[,值2[, ...])

新增的记录,将依照指定字段排列的顺序插入对应的值,譬如值1将被插入至字段1,值2将被插入至字段2,依此类推。

若未指定 (字段1[,字段2[, ...]]) ,将依照表所定义的字段排列的顺序插入对应的值,在VALUES 子句必须包含表中的每一字段值。

值间须使用逗点分隔,文字字段须使用单用引号 ('值') 括起来。


二、Insert Into...Select

若要新增多个记录,可以使用INSERT INTO…SELECT,语法如下:

INSERT INTO 表 [IN 外部资料库] [(字段1[,字段2[, ...]])] SELECT [表.]字段1[, 字段2[, ...] FROM 表

如果表包含一个主索引,须确定新增到主索引字段的值是唯一的且不可为Null值。

原表的字段为自动编号类型时,如果您要将新增记录重新编号,就不要在查询之中包含自动编号字段。若要保持原字段中的值,则将自动编号加在查询之中。

INSERT INTO将所新增的记录加入原有的表之中。若要建立一个新的表,可以使用 SELECT... INTO 的语句。
icelovey 2009-11-24
  • 打赏
  • 举报
回复

insert into B(column1,column2,column3,column4,cloum5)
select column1,column2,column3,column4 ,getdate()
from A
where ID in (1,2,3,4)
华夏小卒 2009-11-24
  • 打赏
  • 举报
回复
有select,就不要values
霜寒月冷 2009-11-24
  • 打赏
  • 举报
回复
为什么insert 后面 连values 都没的
--小F-- 2009-11-24
  • 打赏
  • 举报
回复
insert into
B(column1,column2,column3,column4,cloum5)
select
column1,column2,column3,column4 ,getdate()
from
A
where
ID in (1,2,3,4)
--小F-- 2009-11-24
  • 打赏
  • 举报
回复

insert into
B(column1,column2,column3,column4,cloum5)
select
column1,column2,column3,column4 ,cloum5
from
A
where
ID in (1,2,3,4)
wujinjian2008n 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wujinjian2008n 的回复:]
insert into B(column1,column2,column3,column4,cloum5)
select column1,column2,column3,column4 ,cloum5 from A where ID in (1,2,3,4)
[/Quote]

insert into B(column1,column2,column3,column4,cloum5)
select column1,column2,column3,column4 ,getdate() from A where ID in (1,2,3,4)
水族杰纶 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wufeng4552 的回复:]
SQL codeinsertinto B(column1,column2,column3,column4,cloum5)select A1,A2,A3,A4,getdate()from ta
[/Quote]
--加條件
insert into B(column1,column2,column3,column4,cloum5)
select A1,A2,A3,A4,getdate()
from A where ID in (1,2,3,4)
华夏小卒 2009-11-24
  • 打赏
  • 举报
回复
insert into B(column1,column2,column3,column4,cloum5)
select column1,column2,column3,column4 ,getdate() from A where ID in (1,2,3,4)
水族杰纶 2009-11-24
  • 打赏
  • 举报
回复
insert into B(column1,column2,column3,column4,cloum5)
select A1,A2,A3,A4,getdate() from ta
wujinjian2008n 2009-11-24
  • 打赏
  • 举报
回复
insert into B(column1,column2,column3,column4,cloum5)
select column1,column2,column3,column4 ,cloum5 from A where ID in (1,2,3,4)

34,588

社区成员

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

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