注册 登录
编程论坛 SQL Server论坛

求住各位大大

喷火飞龙 发布于 2018-04-13 17:07, 1295 次点击
有两张表  a表和b表
当a表的某个字段值和b表的某个字段值相同时(虚拟给字段是date),则将a表的数据更新到b表,不相同时,a表的数据插入到b表。
这个sql要怎么写,求大大帮忙。
1 回复
#2
mywisdom882018-04-16 09:29
-- 要用2句才可以哦.
-- 假设表的结构是:字段1,字段2,字段3,date
-- 更新字段date相同
update b set b.字段1=a.字段1,b.字段2=a.字段2,b.字段3=a.字段3 from b表 as b
inner join a表 as a on b.date=a.date

-- 不相同时,就插入数据
insert into b表(字段1,字段2,字段3,[date])
select 字段1,字段2,字段3,[date] from a表 as a where not exists(select [date] from b表 as b where a.date=b.date)

1