update 档案表 b set 工资=a.工资 from 员工表 a where a.姓名=b.姓名
select * into a from ( select '张三' 姓名 ,'男' 性别,3000 工资 union all select '李四' 姓名 ,'男' 性别,4890 工资 union all select '王五' 姓名 ,'男' 性别,2800 工资 ) a select * into b from ( select '张三' 姓名 ,'男' 性别,null 工资 union all select '张一' 姓名 ,'男' 性别,null 工资 union all select '张二' 姓名 ,'女' 性别,null 工资 union all select '李一' 姓名 ,'男' 性别,null 工资 union all select '李二' 姓名 ,'女' 性别,null 工资 union all select '李四' 姓名 ,'男' 性别,null 工资 union all select '王一' 姓名 ,'女' 性别,null 工资 union all select '王二' 姓名 ,'男' 性别,null 工资 union all select '王五' 姓名 ,'女' 性别,null 工资 ) b update b set 工资= (select 工资 from a where a.姓名=b.姓名)
--将新员工插入到档案表,排除同名的 insert into 档案表(姓名,性别,工资) select 姓名,性别,工资 from 员工表 where 姓名 not in (select 姓名 from 档案表) --更新工资 update 档案表 set 工资=a.工资 from 员工表 a inner join 档案表 b on a.姓名=b.姓名
select * from (select 工资 from 员工表 a,档案表 b where a.姓名=b.姓名) as 工资 档案表 b from 员工表 a
select *, (select 工资 from 员工表 a,档案表 b where a.姓名=b.姓名) as 工资 into 档案表 b from 员工表 a
insert into b(a, b, c) select d,e,f from a;
姓名 性别 工资
张三 男 3000
李四 男 4890
王五 女 2800
档案表
姓名 性别 工资
张三 男 null
张一 男 null
张二 女 null
李一 男 null
李二 女 null
李四 男 null
王一 女 null
王二 男 null
王五 女 null
怎么把员工表的工资插入到档案表中去,一一对应!
select '张三' 姓名 ,'男' 性别,3000 工资 union all
select '李四' 姓名 ,'男' 性别,4890 工资 union all
select '王五' 姓名 ,'男' 性别,2800 工资
) a
select * into b from
(
select '张三' 姓名 ,'男' 性别,null 工资 union all
select '张一' 姓名 ,'男' 性别,null 工资 union all
select '张二' 姓名 ,'女' 性别,null 工资 union all
select '李一' 姓名 ,'男' 性别,null 工资 union all
select '李二' 姓名 ,'女' 性别,null 工资 union all
select '李四' 姓名 ,'男' 性别,null 工资 union all
select '王一' 姓名 ,'女' 性别,null 工资 union all
select '王二' 姓名 ,'男' 性别,null 工资 union all
select '王五' 姓名 ,'女' 性别,null 工资
) b update b set 工资= (select 工资 from a where a.姓名=b.姓名)
insert into 档案表(姓名,性别,工资)
select 姓名,性别,工资 from 员工表
where 姓名 not in
(select 姓名 from 档案表)
--更新工资
update 档案表 set 工资=a.工资 from 员工表 a inner join 档案表 b on a.姓名=b.姓名
*
from
(select 工资 from 员工表 a,档案表 b where a.姓名=b.姓名) as 工资
档案表 b
from
员工表 a
*,
(select 工资 from 员工表 a,档案表 b where a.姓名=b.姓名) as 工资
into
档案表 b
from
员工表 a