当前位置:Gxlcms > 数据库问题 > Sql中的Merge和output

Sql中的Merge和output

时间:2021-07-01 10:21:17 帮助过:3人阅读

更新 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

标签:

人气教程排行