输入banner图图片脚本导航/分类

Sql中的Merge和output

更新 update TA set ColA=isnull((select top 1 Value from TB where TB.UserId=TA.UserId and TB.TypeName=@val),0) where DATEDIFF(day,[Date],@day)=0 --插入没有的数据 insert into TA select newid(),UserId,@day,0,0,Value from TB where not exists (select UserId from TA where TA.UserId=TB.UserId and DATEDIFF(day,[Date],@day)=0) and TypeName=@val

用Merge:

merge TA as a
using (select * from TB where TypeName=@val) as b
on b.UserId=a.UserId
when matched then update set a.ColA=b.Value
when not matched then insert values(newid(),UserId,@day,0,0,Value)
when not matched by source then update set a.ColA=0;

 

Sql中的Merge和output

标签: