sql的insert into语句问题,要求:把一个表的一列插入到另一个表,并给指定的列赋值

sql的insert into语句问题,要求:把一个表的一列插入到另一个表,并给指定的列赋值

例如:
A表数据:
列名:id name pwd
数据:1 qw 123

B表数据:
列名:id naem info
数据:1 qw
要求是:把A表的name列插入到B表的name列的同时并给B表的info设置值
我知道怎么插入一列,但不会给指定的列赋值
插入一列的语句:INSERT INTO B([name]) SELECT [name] FROM A
最新回答
爷是那么黑

2024-11-07 00:05:43

create table a
(
id int primary key not null identity(1,1),
name varchar(20) unique,
pwd varchar(30)
)

create table b
(
id int primary key not null identity(1,1),
name varchar(20) unique,
info varchar(30)
)

insert into a values ('qw','123')
insert into b values ('qw',Null)

select * from a

select * from b

1 qw 123

1 qw NULL

sql替换:

根据你的要求,不应该用insert

而是要用update

代码如下:

update b set info =(select pwd from a,b where a.name=b.name)

(1 行受影响)
select * from a

select * from b

结果预期!

呵呵

其他写法:

update b set info =(select pwd from a join b on a.name=b.name)

共同学习!
思绪づ走了

2024-11-07 01:46:26

INSERT INTO B([name],[info]) SELECT [name,'10'] FROM A