CREATE TABLE #A ( CD DECIMAL ,SysCD INT ,FLAG TINYINT ) insert into #A values(1001,5,1) --------------------------- CREATE TABLE #B ( CD DECIMAL ,SysCD INT ,FLAG TINYINT ) insert into #B values(1001,5,0) ----------------------------- SELECT * FROM #A SELECT * FROM #B -------------------------- UPDATE a SET a.FLAG = b.FLAG FROM #A a join #B b on a.CD =b.CD AND a.SysCD =b.SysCD --------------------------- DROP TABLE #A DROP TABLE #B select 1 as a into #a select 102 as a into #b select a.a a,b.a b into #d from #a a full join #b b on 1=1 select 1 as a, 101 as b into #c insert into #c values(1,102) select * from #c select * from #d insert into #c select * from #d where not exists(select a from #c where #d.a=#c.a and #d.b=#c.b) drop table #a drop table #b drop table #c drop table #d